我正在尝试使用async.js map function。但是,当我运行以下脚本时,永远不会调用第三个参数中的回调。控制台仅打印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');
我在这里想念什么?
答案 0 :(得分:1)
您不是在iteratee中调用完成回调
async.map([1,2,3,4,5], (n, done) => done(null, n+1), (err, res) => {
err ? console.log('Error: ' + err) : console.log(res);
});
一个异步函数,应用于coll中的每个项目。 iteratee应该 完成转换后的项目。调用了(项目,回调)。
答案 1 :(得分:1)
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>