承诺总是按顺序返回价值吗?

时间:2018-12-12 16:23:31

标签: mongoose promise

下面是我的代码:

  Kelas.find({ schoolID:  mongoose.mongo.ObjectId(user.schoolID) }).then(function (kelas) {
  if (kelas){
    var promises = []
    for (var i = 0; i < kelas.length; i++){
      promises.push(Students.find({ schoolID: mongoose.mongo.ObjectId(user.schoolID), kelasID: kelas[i]._id}));
    }
    Promise.all(promises).then(function (dataList) {
      console.log(dataList)
    }).then(function (err){
      if (err){
        console.log(err)
      }
    });
  }
});

如您所见,它的作用是:

  1. 找到学校的所有班级
  2. 将所有找到的KelasID推入promises
  3. 找到每个KelasID的所有学生

现在我的问题是,promise.all函数会按推送的KelasID的相同顺序返回每个班级的所有学生吗?

表示如果我推动kelasID 1,2,3,4,5,则诺言将以相同的顺序返回dataList的{​​{1}} 1,2,3,4,5

从我的经验来看就是这样,但是我只是想确认一下。在猫鼬文档中找不到很多关于promise.all的信息,但也许我在找错地方了。

0 个答案:

没有答案