2 つの await ステートメントがあるコード ブロックがあります。サーバーが初めて実行されたときは、SQL.connect を待機していると思います。これを介して(接続の時間を考慮して)数回の呼び出しがあった後、手順は正常に機能します。
これは NodeJS、MSSQL パッケージ用です。
なぜ私の最初の待機は待っていないのですか?
async execStoredProc(spDescriptor: StoredProcedureDescriptor) {
if (!this.pool) {
if (this.isFirst) {
this.isFirst = false ;
} else {
SQL.close();
}
this.pool = await SQL.connect(this.config);
}
try {
const request = new SQL.Request(this.pool) ;
spDescriptor.parms.forEach(function(sqlParm: SqlParm){
request.input(sqlParm.name, sqlParm.sqlType, sqlParm.value) ;
})
const qryresult = await request.execute(spDescriptor.storedProcedureName)
let result = {} ;
if (spDescriptor.multipleResultSets) {
result = qryresult.recordsets ;
} else {
result = qryresult.recordset ;
}
return result ;
} catch (err) {
console.log("SQL Error===>", err);
return [] ;
}
}