小编use*_*910的帖子

javascript中的map()是否同步?

功能是:

[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)

是这样做的方式.

javascript asynchronous map synchronous

14
推荐指数
1
解决办法
2万
查看次数

标签 统计

asynchronous ×1

javascript ×1

map ×1

synchronous ×1