【发布时间】:2019-06-08 14:44:32
【问题描述】:
以下源代码返回 TypeScript 错误:
this.hapi.ext({
type: 'onPreResponse',
method: async (request, handler) => {
if (request.response.isBoom && request.response.message !== 'Invalid request payload input') {
if (request.response.isServer) {
logger.captureException(request.response, null, {
digest: this.requestDigest(request)
});
} else {
logger.captureMessage(request.response.message, 'info', null, {
digest: this.requestDigest(request)
});
}
}
return handler.continue;
}
});
“Boom | 类型”上不存在属性“isBoom”响应对象'。 类型“ResponseObject”上不存在属性“isBoom”。
“Boom | 类型”上不存在属性“isServer” 响应对象'。类型上不存在属性“isServer” '响应对象'。
'string | 类型的参数((httpMessage: string) => ResponseObject)' 不可分配给“字符串”类型的参数。输入'(httpMessage: string) => ResponseObject' 不可分配给类型 'string'。
我该如何修复它们? @types/hapi有问题吗?
【问题讨论】:
-
试试
isBoom in request.response而不是request.response.isBoom -
感谢您的建议@TitianCernicova-Dragomir。不工作。 TypeScript 错误:“in”表达式的左侧必须是“any”、“string”、“number”或“symbol”类型。
-
对不起,我的意思是
'isBoom' in request.response -
@ritaj 你的建议看起来很有希望!将在这里报告以确认。
标签: node.js typescript hapijs