0
私はgraphqlとノードを使い慣れていません。これは本当にシンプルですが、mysqlクエリを実行しようとしています。クライアントから読み込みます。私が実行している問題は、node-mysqlが非同期にクエリを実行するため、クエリ応答を直接取得できないことです。私はそれを考え出したいくつかの工夫の後node-mysqlのgraphqlリゾルバ関数のmysqlクエリを返します。
、新しいコード:ここで
var root = {
login: function({username, password}) {
var s = `select password from users where username='${username}'`;
var result = sql.query(s);
return result.then(response => {
return password == response[0].password
});
}
はGraphqlが今応答が定義されていないことを返すsql.query
exports.query = function(s, callback) {
var promise = new Promise((resolve, reject) => {
con.query(s, function(err, response) {
if (err) throw err;
resolve(response);
});
});
return promise;
ための関数定義です。
私のコードがあなたのやり方を更新しました。そして、graphqlは応答が定義されていないことを示しています。また、あなたが解決関数をどのように定義したかと私のやり方との間には違いがありますか?私は自分のコードのどこにでも 'GraphQLObjectType'のインスタンスを持っていません。 – MacStation
あなたの '.then'は正しく戻っていません。おそらく '.then((response)=> password == response [0] .password); ' – wednesdaymiko
うん、ちょうどそれを固定しました、ありがとう!ちなみに、リゾルバをどのように定義したのか、どうやってそれをしたのかはどうですか?それは問題ですか? – MacStation