Es können keine MySQL-Daten über GraphQL empfangen werden
P粉092778585
P粉092778585 2023-08-29 18:02:24
0
1
417

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.

P粉092778585
P粉092778585

Antworte allen (1)
P粉340264283

我已经修复了,我只需要创建一个包含查询的promise(如下所示):

async resolve(parent, args) { var p = new Promise((resolve, reject) => { db.query("SELECT * FROM myTable", (err, result) => { console.log(JSON.parse(JSON.stringify(result))) resolve(JSON.parse(JSON.stringify(result))) }) }) return p }
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage
    Über uns Haftungsausschluss Sitemap
    Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!