在 Hapi v17 中从回调到 async/await

From callbacks to async/await in Hapi v17

我正在使用 monk 在一个简单的 Hapi v17 应用程序中查询我的 mongodb。

在 v16 中,我曾经使用以下方法检索数据库中的所有项目:

videodb.find({}, {sort: {'created_on': -1}}, function(err, videos) {
  console.log(videos);
  return reply("ok");
});

在 v17 中这不起作用。 Hapi v17 始终需要 return 函数可见,而我的 "callback-powered" 函数在页面呈现发生时在最后执行。

这里的意思是:不能简单的把reply函数放在callback里面。我想我需要使用 promises 或 async/await 函数。但是我已经尝试了几个小时来了解如何做。

任何人都可以 "translate" 将上面的代码转换为有效的 Hapi v17 代码,只需调用 h.view("home") after monk 检索来自数据库的数据?

谢谢!

Monk 应该 return 一个承诺,这样你就可以将你的代码重写成

const videos = await videodb.find({}, {sort: {'created_on': -1}});
...