Rumah  >  Soal Jawab  >  teks badan

Tidak dapat menerima data mysql melalui GraphQL

<p>Saya cuba menggunakan GraphQL dan mysql dalam pelayan Node.js Express. </p> <p>Tetapi setiap kali saya menjalankan pertanyaan, saya mendapat ralat berikut: </p> <p>Mesej ralat adalah seperti berikut:</p> <pre class="brush:php;toolbar:false;">{ "kesilapan": [ { "mesej": "Dijangka Boleh Lelar, tetapi tidak menemui satu untuk medan "RootQueryType.getAllGoals".", "lokasi": [ { "baris": 2, "lajur": 3 } ], "jalan": [ "getAllGoals" ] } ], "data": { "getAllGoals": null } }</pre> <p>Ini adalah pertanyaan GraphQL saya: </p> <pre class="brush:php;toolbar:false;">pertanyaan { getAllGoals { tajuk kemajuan Matlamat } }</pre> <p>Saya mendapat hasil yang diharapkan daripada "PILIH * DARI (JADUAL SAYA)", tetapi apabila saya cuba mengembalikannya sebagai penyelesai GraphQL, ia memberi saya ralat seperti ini: < ;/p> <pre class="brush:php;toolbar:false;">const RootQuery = GraphQLObjectType baharu({ nama: "RootQueryType", medan: { getAllGoals: { jenis: GraphQLList baharu(GoalType), menyelesaikan(ibu bapa, args) { kembalikan db.query("PILIH * DARI myTable", (err, hasil) ==> { jika (err) membuang err console.log(JSON.parse(JSON.stringify(result))) kembalikan JSON.parse(JSON.stringify(result)) }) } } } })</pre> <p>Saya telah menyemak GraphQLObjectType GoalType saya untuk sebarang konflik, tetapi tidak menemui apa-apa. </p>
P粉092778585P粉092778585418 hari yang lalu453

membalas semua(1)saya akan balas

  • P粉340264283

    P粉3402642832023-08-30 12:30:40

    Saya sudah membetulkannya, saya hanya perlu membuat janji yang mengandungi pertanyaan (seperti di bawah):

    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
                }

    balas
    0
  • Batalbalas