hapijs v18 在处理程序完成之前发送响应
hapijs v18 send response before handler completion
我想在处理程序完成之前从我的 hapijs 处理程序发送响应。
我已尝试 h.response().code(204).takeover()
,但是在从处理程序明确 returned 并且文档表明相同之前,似乎不会发送响应。
我想立即 return 一个 204 然后在处理程序中继续 运行 代码。有没有办法在发送响应后继续处理?
request.generateResponse() 的文档建议可以使用回复界面,但我认为这只是一个文档错误,因为回复界面链接回响应工具包文档。
如果在返回响应之前调用异步代码执行,则可以在发送响应后继续运行异步代码。
async function someAsyncCode() {
// Do processing
}
(request, h) => {
someAsyncCode()
return h.response('hello worl').code(204).takeover()
}
由于您没有等待或返回承诺,函数的执行 "someAsyncCode" 不会阻塞执行流程。
我想在处理程序完成之前从我的 hapijs 处理程序发送响应。
我已尝试 h.response().code(204).takeover()
,但是在从处理程序明确 returned 并且文档表明相同之前,似乎不会发送响应。
我想立即 return 一个 204 然后在处理程序中继续 运行 代码。有没有办法在发送响应后继续处理?
request.generateResponse() 的文档建议可以使用回复界面,但我认为这只是一个文档错误,因为回复界面链接回响应工具包文档。
如果在返回响应之前调用异步代码执行,则可以在发送响应后继续运行异步代码。
async function someAsyncCode() {
// Do processing
}
(request, h) => {
someAsyncCode()
return h.response('hello worl').code(204).takeover()
}
由于您没有等待或返回承诺,函数的执行 "someAsyncCode" 不会阻塞执行流程。