task_all

task_all

task_all

功能

等待一组后台任务全部完成,并按输入顺序返回每个任务的成功结果。task_all(tasks) 是同步组合等待函数,不会取消未完成任务。

语法

参数

参数类型必填默认值说明
tasksArray<Task>要等待的 Task 数组。

返回值

类型说明
Array全部任务成功时,按输入顺序返回结果数组;空数组返回 []

如果任一任务 throw 或普通失败,task_all() 会等待输入中的任务全部完成,然后按输入顺序选择第一个非成功结果:throw 会重新抛出,普通失败会返回运行时错误。

示例

注意事项

  • 参数必须是数组,数组元素必须全部是 Task。
  • task_all([]) 返回空数组 []
  • 任务在创建时已经并发执行,task_all() 按输入顺序等待结果不会把任务执行变成串行。
  • task_all() 会阻塞当前执行流;Web 请求热路径中应谨慎使用。
  • 其他任务失败时不会强制取消仍在运行的任务。