处理程序返回后,Hapi.js保持服务运行

时间:2018-06-21 20:54:27

标签: node.js response hapijs

新版本的Hapi.js使用async (request, h) => { return "result"; }代替了路由处理程序的旧(request, reply) => { reply("result"); }模式。 async处理程序函数给我带来了很多便利。

但是,如果我希望某些进程在发送响应后继续运行,该怎么办?

Eidt 1:我决定运行该过程并异步返回结果。希望有一种更合适的方法。

1 个答案:

答案 0 :(得分:0)

您始终可以从处理程序中返回承诺。

此代码将等待10秒钟才能解决承诺。 (Promise.delay()是bluebird Promise方法。)

handler: async (request, h) => {
    return Promise.try(() => {
        return Promise.delay(10000)
    }).then(() => {
        return "10 seconds passed"
    })
}