【发布时间】:2018-07-31 01:39:09
【问题描述】:
我遇到了回调混乱的问题。
在我的 nodejs 应用程序中,我试图获取由 mongoDB 请求返回的 JSON 对象数组。我不知道为什么,但它没有按我的意愿填充。
我怀疑异步结果/回调混乱的问题。
var fruits = ["Peach", "Banana", "Strawberry"];
var finalTab = [];
fruits.forEach(function(fruit) {
db.collection('mycollection').distinct("column1", {"column2":{$regex :fruit}}, (function(err, result) {
finalTab[fruit] = result;
console.log(result); // -> display the desired content
db.close();
if (err) throw err;
}));
});
console.log(finalTab); // -> []
提前感谢您的帮助。
编辑: 因为我需要我的 db.collection...functions... 返回的所有结果...我正在尝试将这些异步命令添加到队列中,执行它并获取回调函数。 我认为异步 nodejs 模块可以提供帮助。
有人可以告诉我如何在 ForEach() 中执行此操作吗?
【问题讨论】:
-
我编辑了我的问题。
-
终于在这里找到了正确的方法:stackoverflow.com/a/48902134/5119290
标签: node.js mongodb asynchronous mongoose callback