我正在尝试从以下函数返回数据:
function getStatus(sender_psid) {
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db("myproject");
var myquery = { psid: sender_psid };
dbo.collection("fmtest").findOne(myquery, function(err, result) {
console.log("Results:" +result.userStatus);
var result = result.userStatus;
db.close();
return result;
});
});
};
我的目标是使用像$ x = getStatus(sender_psid)这样的函数(以便我可以在程序的其余部分中使用该函数的返回值),但不是工作。 我已经发现异步存在一些问题,但是我无法解决。 例如,我已经这样尝试过:
async () => {var x= getStatus(sender_psid);
return status;
};
console.log("Worked! ", x);
有人可以帮我吗?
编辑: 我已经看到了一个大问题:How do I return the response from an asynchronous call?,但这与ajax有关,并未直接回答我的问题, 我也见过这个(Mongodb find doesn't return array),它也不能回答我的问题,因为这与返回结果并将其传递给变量无关。