带有 call saga 效果的 JS ES6 "yield array.map" 的结果是什么?

What is the result of a JS ES6 "yield array.map" with call saga effect?

我有这段代码:

function* sendArray (array, method) {

  yield array.map((element) => {
    return call(method, element)
  })
}

如果你不知道redux/saga

call是一个同步函数。 map 是一个异步的。如果你yield和指令数组,它将等待整个数组被执行。

问题call条指令是并行执行,还是等待上一条完成?

如果你知道redux/saga

好吧,那你就明白我的意思了。这个函数有点简化,是我的一个 sagas 的一部分,method 是一个查询 API 的函数。

call 函数是否并行执行?

Are the call functions executed in parallel?

不完全是,每个 call 调用都是同步的并且 map 确实按顺序执行。但是,由所有 call 启动的异步任务确实会 运行 并行,并且 yielding 数组将等待它们的所有结果。