0
ノードを使用してSQL Server DBからデータを取得しようとしています。関数を実行して接続したりデータを取得することはできますが、関数をAPIのエンドポイントに変換したいと考えています。Express GETリクエストの結果のエラー: "res.sendは関数ではありません"
res
変数が最後のifステートメントに渡されていないと思われるエラーに基づいていますが、この問題は発生していません。
GET
メソッドを郵便配達員から使用すると、res.send is not a function
エラーが発生します。
let mssqlQuery = function(query, res) {
sql.connect(dbConfig, function(err) {
if (err) {
console.log("Error while connecting database :- " + err)
res.send(err)
} else {
let request = new sql.Request();
request.query(query, function(err, res) {
if (err) {
console.log("Error while querying database :- " + err)
res.send(err)
} else {
res.send(res) // res.send is not a function
}
})
}
})
}
// GET API
app.get("/api/address", function(req, res) {
var query = "select * from address"
mssqlQuery(query, res)
})
はres
変数が不適切スコープまたは私は完全に間違ったアプローチがある可能性がありますか?
'request.query()'の内側の 'res'は、関数の外側のものをシャドーイングしています。 1つの名前を変更しても問題ありません。 – Sirko
コードスニペットを送信できますか?私はあなたが言っていることを試してみたが、まだ間違いをしたと思う。 8行目と13行目を参照していますか?私はあなたのコメントに対する私の理解を反映するために質問を編集しました。 – KVNA