deleteAllSafely

inline suspend fun AggregatedMessageReceipt.deleteAllSafely(vararg options: DeleteOption, onResult: (Result<Unit>) -> Unit = { /* Ignore it. */ })(source)

尝试删除其所代表的所有消息回执。

deleteAllSafely 内会直接使用循环尝试进行删除,并且会通过 try-catch 保证每一次循环的结果都经由 onResult 回调函数处理。 因此相比较于 AggregatedMessageReceipt.deleteAll, deleteAllSafely 可以保证会尝试当前 AggregatedMessageReceipt 中的所有元素 而不会被可能发生的异常打断。

当然,前提是用户指定的 onResult 逻辑中不会产生异常,否则依旧会被打断。

Parameters

onResult

每一个元素被执行删除后的结果回执,也可能是存在异常的回执。 默认情况下 onResult 会直接忽略异常