为什么js的map方法不是对集合的元素按顺序操作?

下面是我的代码

function disconnectall() {
  server.app.peripherals.map(function(peripheral){
    console.log(peripheral.id);
    peripheral.disconnect(function(error){
      if(error){
        console.log(error);
      }else{
      console.log("disconnect  " + peripheral.id);}
    })
  });
}

假设peripherals中包含两个元素,两个元素的ID分别是01,02
那么我理解的这个函数被调用时的输出应该是
01
disconnect 01
02
disconnect 02

但是实际上我得到的输出是
01
02
disconnect 01
disconnect 02

我的问题是map方法的说明中对集合元素进行操作,是不是按顺序的,如果是按顺序的,是不是在一个元素操作结束后再操作下一个元素?

阅读 6k
3 个回答

异步啊。没有阻塞的代码执行的快啊。

01先于02已经说明map是按顺序的了吧

你好,mdn上的描述为
map calls a provided callback function once for each element in an array, in order, and constructs a new array from the results.
其中in order 说明为按序

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题