Ich versuche, einen benutzerdefinierten Fehler mit apollo-server zu verwenden, und es scheint, dass mein benutzerdefinierter Fehler eine Eigenschaft (code
) hat, die nicht innerhalb formatError
verfügbar ist.Benutzerdefiniertes Fehlerobjekt mit Apollo Server
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
}
}
Ich habe eine einfache Fehlerbehandlung so etwas wie dies funktioniert:
let INVALIDREQUEST = 'invalid request'
let e = new MyError({INVALIDREQUEST})
console.log(e.code) // => "INVALIDREQUEST"
ich Probleme, bin da, wenn ich error.code
log aus formatError
es nicht verfügbar ist.
formatError: function (error) {
console.log(error.code) // => undefined
return error
}
Wie kann ich benutzerdefinierte Eigenschaften (wie code
) von error
aus formatError
propagieren?
warum Knotenprotokoll unterscheidet sich von graphiql? In graphiql kann ich die Zustände sehen, wenn ich formaterror hinzufüge: error.state = error.originalError; Aber in der Knotenkonsole sehe ich nur: GraphQLError (.. bei locatedError ..) Pfad, Positionen und Quelle. Kann ich in der Konsole auf dem Knoten meine Statuseigenschaft sehen? – stackdave