Es können keine MySQL-Daten über GraphQL empfangen werden
P粉092778585
P粉092778585 2023-08-29 18:02:24
0
1
458
<p>Ich versuche, GraphQL und MySQL auf einem Node.js Express-Server zu verwenden. </p> <p>Aber jedes Mal, wenn ich die Abfrage ausführe, erhalte ich die folgende Fehlermeldung: </p> <p>Die Fehlermeldung lautet wie folgt:</p> <pre class="brush:php;toolbar:false;">{ "Fehler": [ { "message": "Iterierbar erwartet, aber für das Feld "RootQueryType.getAllGoals" nicht gefunden.", "Standorte": [ { "Zeile": 2, „Spalte“: 3 } ], "Pfad": [ „getAllGoals“ ] } ], "Daten": { "getAllGoals": null } }</pre> <p>Dies ist meine GraphQL-Abfrage: </p> <pre class="brush:php;toolbar:false;">query { getAllGoals { Titel Fortschritt Ziel } }</pre> <p>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> <pre class="brush:php;toolbar:false;">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)) }) } } } })</pre> <p>Ich habe meinen GraphQLObjectType GoalType auf Konflikte überprüft, aber nichts gefunden. </p>
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
            }
Beliebte Tutorials
Mehr>
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!