찾다

 >  Q&A  >  본문

javascript - 为什么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方法的说明中对集合元素进行操作,是不是按顺序的,如果是按顺序的,是不是在一个元素操作结束后再操作下一个元素?

怪我咯怪我咯2803일 전567

모든 응답(3)나는 대답할 것이다

  • 怪我咯

    怪我咯2017-04-11 12:40:55

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

    회신하다
    0
  • ringa_lee

    ringa_lee2017-04-11 12:40:55

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

    회신하다
    0
  • 巴扎黑

    巴扎黑2017-04-11 12:40:55

    你好,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 说明为按序

    회신하다
    0
  • 취소회신하다