Javascript 如果出现错误,请替换答复
如果稍后在请求流中发生错误,是否可能对处理程序内部的应答(在路由处理程序中调用的reply())感到遗憾 我希望捕获错误并返回状态代码500,其中包含适当的消息,而不是初始回复Javascript 如果出现错误,请替换答复,javascript,hapijs,Javascript,Hapijs,如果稍后在请求流中发生错误,是否可能对处理程序内部的应答(在路由处理程序中调用的reply())感到遗憾 我希望捕获错误并返回状态代码500,其中包含适当的消息,而不是初始回复 function(request, reply) { reply(200) try { // code causing an error } catch(error) { // reset previous reply reply(Boom.badImplementation(erro
function(request, reply) {
reply(200)
try {
// code causing an error
} catch(error) {
// reset previous reply
reply(Boom.badImplementation(error))
}
}
请说得具体一点。您想知道如何捕获错误还是想知道如何返回错误状态。稍后请检查hapi状态节点模块。npm安装hapi状态
如果您参考hapi状态文件并为XXXX选择适当的值。在您的情况下,它应该是return hstatus.internalServerError(……)Reply返回一个错误和一个成功,它基本上是回调的包装器?!?我已经添加了一些代码来解释这个流程,一旦你调用reply,控制权就交给了hapi,为什么在回复后你会有一个try-catch呢?我正在基于hapijs构建一个库,其中HTTP资源类似于Ruby-on-Rails控制器,但要简单得多。我正在实现像before*-event和after*-event这样的before和after过滤器。@Jacob,当您添加reply(“您的内容”)时,进一步的执行将停止,并返回响应。在catch块中,您需要处理异常,然后按照我之前的建议使用hapi状态节点模块。