async.map 没有调用回调

async.map not calling callback

我正在尝试使用 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');

我在这里错过了什么?

您没有在迭代器中调用完成回调

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

An async function to apply to each item in coll. The iteratee should complete with the transformed item. Invoked with (item, callback).

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>