javascript - 忽略负鼠断路器中的 HTTP 404 错误?
问题描述
我正在构建一个 express api,并使用负鼠在其中实现了一个断路器。
断路器有没有办法忽略应用程序生成的自定义 HTTP 异常?我尝试添加该errorFilter
选项,但遇到了同样的问题。它仍在将其视为电路故障。
const options: CircuitOptions = {
timeout: 3000, // If function takes longer than 3 seconds, trigger a failure
errorThresholdPercentage: 50, // When 50% of the requests fail, trip the circuit
resetTimeout: 30000, // After 30 seconds try again
errorFilter: err => {
// Filtering out Http404Error here.
return err.status === 404 // Not Working
}
}
解决方案
在 opossum-playground repo 下有一个使用 errorFilter 属性的负鼠示例
https://github.com/nodeshift-starters/opossum-playground/tree/master/error-filter
现在,在您的情况下,可能err.status
不是返回状态代码而是未定义(我在这里猜测,因为我没有完整的代码)并且从 errorFilter 返回的值不是真实的。
所以负鼠一直认为它是失败的。