我正在使用 monk 在一个简单的 Hapi v17 应用程序中查询我的 mongodb。
在 v16 中,我曾经使用以下方法检索数据库中的所有项目:
videodb.find({}, {sort: {'created_on': -1}}, function(err, videos) {
console.log(videos);
return reply("ok");
});
在 v17 中这不起作用。 Hapi v17 始终要求返回函数可见,并且当页面渲染发生时,我的“回调驱动”函数将在最后执行。
这句话的意思是:我不能简单地将回复函数放在回调中。我想我需要使用 Promise 或 async/await 函数。但我花了好几个小时试图理解其中的原理。
任何人都可以将上面的代码“翻译”为有效的 Hapi v17 代码,该代码只需在 Monk 从数据库检索数据之后调用 h.view("home") 吗?
谢谢!
最佳答案
Monk 应该返回一个 promise ,以便您可以将代码重写为
const videos = await videodb.find({}, {sort: {'created_on': -1}});
...
关于javascript - Hapi v17 中从回调到 async/await,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50086805/