Ich versuche, GraphQL und MySQL auf einem Node.js Express-Server zu verwenden.
Aber jedes Mal, wenn ich die Abfrage ausführe, erhalte ich die folgende Fehlermeldung:
Die Fehlermeldung lautet wie folgt:
{ "Fehler": [ { "message": "Iterierbar erwartet, aber für das Feld "RootQueryType.getAllGoals" nicht gefunden.", "Standorte": [ { "Zeile": 2, „Spalte“: 3 } ], "Pfad": [ „getAllGoals“ ] } ], "Daten": { "getAllGoals": null } }
Dies ist meine GraphQL-Abfrage:
query { getAllGoals { Titel Fortschritt Ziel } }
Ich erhalte das erwartete Ergebnis von „SELECT * FROM (MY TABLE)“, aber wenn ich versuche, es als GraphQL-Resolver zurückzugeben, erhalte ich eine Fehlermeldung wie diese: < ;/p>
const RootQuery = new GraphQLObjectType({ Name: "RootQueryType", Felder: { getAllGoals: { Typ: new GraphQLList(GoalType), lösen(parent, args) { return db.query("SELECT * FROM myTable", (err, result) => { if (err) throw err console.log(JSON.parse(JSON.stringify(result))) return JSON.parse(JSON.stringify(result)) }) } } } })
Ich habe meinen GraphQLObjectType GoalType auf Konflikte überprüft, aber nichts gefunden.
我已经修复了,我只需要创建一个包含查询的promise(如下所示):