【发布时间】:2021-04-06 02:04:43
【问题描述】:
我知道这个问题已经被问了很多,但我似乎无法使用现有的答案来让我的代码正常工作。我正在尝试使用 mongojs 进行单个查询,然后将结果放入全局(相对于范围)变量中以避免嵌套多个回调。但是,我似乎无法让代码等待查询结束后再继续。
async function taskmaster() {
const db = mongojs(mongoUri.tasker);
let currentDoc;
const getTask = async function() {
db.tasks.findOne({'task_id': {'$in': [taskId, null]}}, function(err, doc) {
console.log(doc);
currentDoc = doc;
});
}
await getTask();
console.log(currentDoc);
// Code to process currentDoc below
}
无论我做什么,console.log(doc) 显示一个有效的 MongoDB 文档,但 console.log(currentDoc) 显示“未定义”。提前致谢!
【问题讨论】:
标签: node.js asynchronous mongojs