Impossible de recevoir des données MySQL via GraphQL
P粉092778585
P粉092778585 2023-08-29 18:02:24
0
1
457
<p>J'essaie d'utiliser GraphQL et MySQL dans un serveur Node.js Express. </p> <p>Mais chaque fois que j'exécute la requête, j'obtiens l'erreur suivante : </p> <p>Le message d'erreur est le suivant :</p> <pre class="brush:php;toolbar:false;">{ "erreurs" : [ { "Message" : "Itérable attendu, mais n'en a pas trouvé pour le champ "RootQueryType.getAllGoals".", "emplacements" : [ { "ligne": 2, "colonne": 3 } ], "chemin": [ "obtenir tous les objectifs" ] } ], "données" : { "getAllGoals" : nul } }</pré> <p>Voici ma requête GraphQL : </p> <pre class="brush:php;toolbar:false;">requête { obtenirTouslesGoals { titre progrès but } }</pré> <p>J'obtiens le résultat attendu de "SELECT * FROM (MY TABLE)", mais lorsque j'essaie de le renvoyer en tant que résolveur GraphQL, cela me donne une erreur comme celle-ci : </p> <pre class="brush:php;toolbar:false;">const RootQuery = new GraphQLObjectType({ nom : "RootQueryType", des champs: { obtenir tous les objectifs : { tapez : nouveau GraphQLList (GoalType), résoudre (parent, arguments) { return db.query("SELECT * FROM myTable", (erreur, résultat) => { si (erreur) lance une erreur console.log(JSON.parse(JSON.stringify(result))) retourner JSON.parse(JSON.stringify(result)) }) } } } })</pré> <p>J'ai vérifié mon GraphQLObjectType GoalType pour détecter tout conflit, mais je n'ai rien trouvé. </p>
P粉092778585
P粉092778585

répondre à tous(1)
P粉340264283

Je l'ai déjà corrigé, il me suffisait de créer une promesse contenant la requête (comme ci-dessous) :

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
            }
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!