Javascript 在Hapi v17中从回调到异步/等待

Javascript 在Hapi v17中从回调到异步/等待,javascript,async-await,hapijs,Javascript,Async Await,Hapijs,我正在使用monk在一个简单的Hapi v17应用程序中查询我的mongodb 在v16中,我使用以下方法检索数据库中的所有项: videodb.find({}, {sort: {'created_on': -1}}, function(err, videos) { console.log(videos); return reply("ok"); }); 在v17中,这不起作用。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始终要求返回函数可见,并且当页面呈现发生时,我的回调函数将在最后一个位置执行

这意味着:我不能简单地将reply函数放在回调函数中。我认为我需要使用承诺或异步/等待函数。但我已经试了好几个小时来理解怎么做

有人能把上面的代码翻译成一个有效的Hapi v17代码,在monk从数据库中检索到数据后调用h.viewhome吗


谢谢大家!

Monk应该返回一个承诺,这样您就可以将代码重写为

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

快速而救命的回答。