async.map未调用回调



我正在尝试使用async.js映射函数。但是,当我运行以下脚本时,第三个参数中的回调永远不会被调用。控制台仅打印END。然而,iteratee确实被调用了。

const async = require('async');
async.map([1,2,3,4,5], n => n+1, (err, res) => {
err ? console.log('Error: ' + err) : console.log(res);
});
console.log('END');

我在这里错过了什么?

async.js希望iteratee函数为async,否则它将无法按预期工作:

async.map([1,2,3,4,5], async n => n+1, (err, res) => {
err ? console.log('Error: ' + err) : console.log(res);
});
console.log('END');
<script src="https://cdnjs.cloudflare.com/ajax/libs/async/2.6.1/async.js"></script>

您没有在iteratee 中调用done回调

async.map([1,2,3,4,5], (n, done) => done(null, n+1), (err, res) => {
err ? console.log('Error: ' + err) : console.log(res);
});

应用于coll中每个项的异步函数。迭代对象应该完成转换后的项目。使用(项,回调(调用。

最新更新