await All
等待一组类型相同的 Deferred 对象全部成功完成,并返回一个包含所有结果的类型安全列表。
这是官方 kotlinx.coroutines.awaitAll 函数的脚本化封装,功能上类似于 JavaScript 的 Promise.all, 但提供了更强的类型保证。
当你需要并发执行多个返回相同类型结果的独立异步任务(例如,并发获取多个用户的个人资料), 并在它们全部完成后统一处理结果时,这个函数是最佳选择。
失败行为:如果输入的任何一个 Deferred 失败(抛出异常),那么返回的新 Deferred 也会 立即以第一个发生的异常失败,并会尝试取消所有其他尚未完成的 Deferred 任务。
Return
一个新的 Deferred<List<T>>。成功时,其结果是一个类型为 List<T> 的列表, 包含了所有输入 Deferred 的结果,且顺序与输入列表的顺序严格对应。
Parameters
T
结果的类型。所有传入的 Deferred 对象都必须是 Deferred<T> 类型。
deferred List
一个包含多个 Deferred<T> 对象的列表。