2

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 [] ;
    }
}
4

0 に答える 0