0
使用NodeJS中的MSSQL驅動程序並嘗試使用池來保持與數據庫的連接清潔,並避免出現連接無法正確關閉的問題。現在,我正在從標準調用轉移到池,我得到了一個奇怪的錯誤。NodeJS MSSQL驅動程序無法讀取使用池未定義的屬性'.then'
我的快遞航線上的代碼如下:
app.get('/records/pending/:id', (req, res) => {
try{
dbq.getOnePending(req.params.id).then((set) => {
res.send(set);
});
}catch(err) {
console.error(err);
res.send(err);
}
});
這是很好的使用標準連接到這個樣子的DB:
dbq.getOnePending = (id) => {
return mssql.connect(sqlConfig).then(() => {
return new mssql.Request().query(` <<query>> `)
.then((set) => {
mssql.close();
return set;
}).catch((err) => {
console.error(err);
mssql.close();
});
});
}
現在,我已經感動到連接池模型,並且我不能在快速代碼中使用.then()
。我得到這個錯誤:
TypeError: Cannot read property 'then' of undefined
查詢的池版本是這樣的:
getOnePending: (id) => {
sweepPool.request().query(`<<query>> `, (err, res) => {
if(err){
console.error(err);
return err;
}else{
return res;
}
});
},
我應該如何去訪問資源對象,如果我不能用then()
?