我有一个代码块,其中有两个等待语句。服务器第一次运行时,我相信它正在等待 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 [] ;
}
}