【发布时间】:2020-10-20 04:54:10
【问题描述】:
我觉得有些重要的东西我不明白,但是谷歌的结果都很复杂。请帮帮我。
app.post('/api/trigger-push-msg/', function (req, res) {
getAllSubscriptionsFromDatabase()
.then(function(subscriptions) {
console.log(subscriptions)
...
async function getAllSubscriptionsFromDatabase() {
let subscriptions = [];
await db.find({}, function (err,docs){
subscriptions = docs;
console.log("Docs"+docs)
return(docs);
})
return subscriptions;
};
据我了解,它应该等待 getAllSubscriptions。在这种情况下,它会打印:
Docs[object 对象]
[对象对象]
但它正在打印这个:
(0) []
Docs[object 对象]
【问题讨论】:
-
您在 DB 调用上的等待可能在这里没有做任何事情
-
为了等待
getAllSubscriptionsFromDatabase,你可能需要暴露返回的promise来表达。如果您退回它,它可能会起作用。return getAllSubscriptionsFromDatabase()...
标签: javascript node.js asynchronous async-await