Expressアプリケーション用に(err, result)
の形式で返される関数を作成する方法を理解できない。ノードにエラー/結果関数を作成する
私の現在のDBクエリ機能は次のとおりです。私のdb.jsファイルで
pool.query(
'SELECT id FROM users WHERE email = ? LIMIT 1',
[email],
(results) => { // I'd like this to be (err, results)
if(results instanceof Error){...}
}
})
、プールは次のようになります。このおよびその他の機能については
module.exports = {
query: (query, args, cb) => {
pool.getConnection((err, connection) => {
if(err){
new Error('No database connections available in pool')
} else {
connection.query(query, args, (error, results, fields) => {
connection.release()
// I got a MySQL error here and I'd like to handle it in my callback function
if(error){
new Error('Bad query')
} else {
cb(results)
}
})
}
})
}
}
、私は返すしたいのですが適切なError
がある場合は、私のコールバックにパラメータとしてerr, result
を聞いてもらいます。
私はnew Error('Bad query')
を使用してみましたが、それは関係なく、私がinstanceof Error
になってしまった方法である何(私のコールバックの最初の変数として帰ってきました。
あなたのコールバックができるように、コールバックして応答を構築するにはどうすればよいですerr, result
形式で及び/適切機能上のあなたがを作成している(私はすでにこの形式でのモジュールのためにそれを使用する方法を理解する - 私は、独自のコードを書式設定/書くことについて話している。)エラーを処理するかどうかを確認?
ありがとう!
は、クエリ機能のために私達にあなたのコードの残りの部分をご提示ください。あなたの問題を解決する場所は、 'cb()'と呼ばれる場所です。これは、第1引数として 'err'を渡し、第2引数として' results'を渡すところです。その関数のコードの残りの部分を表示した場合、コールバックを適切に行う方法を示すことができます。 – jfriend00
ありがとう@ jfriend00 - クエリの残りの部分を追加しました –