我正在尝试使用apollo-server的自定义错误,似乎我的自定义错误有一个属性 ( code
) 在内部不可用formatError
。
import ExtendableError from 'es6-error'
export default class MyError extends ExtendableError {
constructor(args) {
let code = Object.keys(args)[0]
let message = Object.values(args)[0]
super(message)
this.code = code
}
}
我有一个简单的错误处理程序是这样的:
let INVALIDREQUEST = 'invalid request'
let e = new MyError({INVALIDREQUEST})
console.log(e.code) // => "INVALIDREQUEST"
我遇到了麻烦,因为当我error.code
从内部登录时formatError
它不可用。
formatError: function (error) {
console.log(error.code) // => undefined
return error
}
如何从内部传播自定义属性(如code
)?error
formatError