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

时间:2018-04-29 12:57:22

标签: javascript async-await hapijs

我使用僧侣在简单的Hapi v17应用中查询我的mongodb。

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

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

在第17节中,这不起作用。 Hapi v17总是需要一个返回功能才能看到我的回调功能"当页面呈现发生时,函数正在最后一个位置执行。

这意味着:我不能简单地将回复功能放在回调中。我想我需要使用promises或async / await函数。但是我已经花了好几个小时才明白了。

任何人都可以"翻译"将上面的代码转换成一个有效的Hapi v17代码,只需调用h.view(" home") 后monk从db中检索数据?

谢谢!

1 个答案:

答案 0 :(得分:1)

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

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