Zoeken op website

node.js - nodejs async/await wacht niet


Ik heb een codeblok waarin twee await-instructies staan. De allereerste keer dat de server draait, geloof ik dat het gewoon voorbij de await SQL.connect gaat. Nadat er een paar oproepen zijn geweest (waardoor er tijd is voor de verbinding), werkt de procedure vervolgens prima.

Dit is voor NodeJS, MSSQL-pakket.

Waarom wacht mijn eerste await niet?

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