Muk*_*ina 11 javascript node.js async.js
我最近开始研究一个节点项目,并且一直在使用这个async库.我有点担心哪个选项会更快.使用async.map一些数据并获取其结果或使用async.each迭代用户数组并将其相应的操作放入我执行的函数调用数组中async.parallel.
与 JavaScript 类似forEach,async.each需要三个参数,第一个是要迭代的数组,第二个是应用于数组每个元素的函数(这是第一个参数)。第二个参数的形式是iterator(item, callback)其中iterator的函数名,callback也是一个函数,完成callback(err)后调用一次的形式iterator。(注意:“如果没有发生错误,则回调应该在没有参数的情况下运行,或者使用显式的空参数运行。”) 的第三个参数async.each是在执行所有函数后调用的回调iterator,就像每个迭代器的回调一样表格callback(err)。
为简洁起见,以下是 的参数的形式async.map:
arr- 要迭代的数组。iterator(item, callback)- 应用于 中每个项目的函数arr。迭代器被传递给 a callback(err, transformed),一旦完成并出现错误(可以是null)和转换后的项,就必须调用该迭代器。callback(err, results)iterator
- 当所有函数完成或发生错误时调用的回调。结果是来自 的转换后的项目的数组arr。进入问题答案的核心,通过async.map 调用作为其第一个参数iterator的数组的每个元素将其第一个参数映射到数组,但 async.map必须返回一个 array,而async.each不会。async.map这反映在(我指的是)的第三个参数的第二个中results,它必须是一个数组。也就是说,在最简单的例子中,
async.map([1, 2, 3], function iterator(item, callback_it){ return 2*item; }, callback(err, results))
Run Code Online (Sandbox Code Playgroud)
假设您已经实现了callback_itand callback,那么在上面的示例中 [2, 4, 6] 将作为第二个参数传递callback
| 归档时间: |
|
| 查看次数: |
9191 次 |
| 最近记录: |