【发布时间】:2020-05-29 16:24:59
【问题描述】:
我正在从 hapi14 升级到 hapi17,当在处理程序中抛出或返回错误时 onPostHandlers 未被调用,这未列为 16 或 17 中的重大更改。
我相信这是从回调更改为异步的结果,但我很想确认它或找出在处理程序中抛出错误时阻止调用 onPostHandler 扩展的问题.
const Boom = require('boom');
const extensions = {
handleOnPostHandler: function (request, h) {
console.log('we hit it wooo');
return h.continue;
}
};
const operations = {
error: {
description: 'Endpoint that simulates errors',
auth: false,
handler: function (request, h) {
// comment me out to call the onPostHandler
throw new Boom('an error');
// uncomment me to call the onPostHandler
// return 'potato';
}
}
};
exports.register = function (server) {
server.ext('onPostHandler', extensions.handleOnPostHandler);
server.route({ method: 'GET', path: '/debug/error', config: operations.error });
};
我是否遗漏了一个严重的错误或者这是预期的?
【问题讨论】:
-
我有一个使用 onPreResponse 的解决方法,如果它在几天内没有收到好的答案,我会回答这个问题