带有 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
启动的异步任务确实会 运行 并行,并且 yield
ing 数组将等待它们的所有结果。
我有这段代码:
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
启动的异步任务确实会 运行 并行,并且 yield
ing 数组将等待它们的所有结果。