功能是:
[1,2,3].map( function (item)
{
console.log(item);
//return 'something';
});
Run Code Online (Sandbox Code Playgroud)
我的预期行为只有1作为输出,除非我取消注释
//return 'something'
Run Code Online (Sandbox Code Playgroud)
但我真的明白了
1
2
3
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么 ?
更新:
我正在使用nodejs进行测试.
我真的不明白.
var async = require("async");
[1,2,3].map( function (item)
{
console.log(item);
//return 'something';
});
async.map([1,2,3], function (item,callback)
{
console.log(item);
//callback(null,true)
}, function (err,result)
{
console.log(result);
}
);
Run Code Online (Sandbox Code Playgroud)
两者都返回相同
1
2
3
Run Code Online (Sandbox Code Playgroud)
而且我真的想等到我得到一个回复或回调,直到下一个项目被执行.
解决了
async.mapSeries([1,2,3], function (item,callback)
{
console.log(item);
//callback(null,true)
}, function (err,result)
{
console.log(result);
}
);
Run Code Online (Sandbox Code Playgroud)
是这样做的方式.