UnhandledPromiseRejectionWarning: TypeError: (промежуточное значение) не является функцией - PullRequest
0 голосов
/ 08 февраля 2019

Я пытаюсь вызвать функцию (findNextOper ()), используя async / await, и когда я вызываю ее, я получаю эту ошибку:

(node:2748) UnhandledPromiseRejectionWarning: TypeError: (intermediate value) is not a function

Я пытался добавить точки с запятой в другом положении, но это не такт работал.Я понятия не имею, как это исправить.

//This is where I call the function

function regFasiFineLav(pool,oper){
    return new Promise(async (resolve,reject,) => {
        ...
        let nextOper = await findNextOper(pool,op);
        ...
        resolve();
 })();
};

//This is the function precedeing the one that trigger the error(findNextOper).
//I pasted because maybe it is related in some way

function StringToTime(stringTime){
    return new Promise(async (resolve,reject) => {
        stringTime = stringTime.split(":");
        resolve(parseInt(stringTime[0])*3600 + parseInt(stringTime[1])*60 + parseInt(stringTime));
    })();
};

//This is the function causing the error
function findNextOper(pool,op){
    return new Promise(async (resolve,reject) => {
        let sql_query = "SELECT TOP 1 oper_num FROM jobroute WHERE job = '" + op.job + "' AND suffix = " + op.suffix + " AND oper_num > " + op.oper_num + " ORDER BY oper_num ASC";
        let result = (await pool.request().query(sql_query)).recordset;
        if(result.length === 0){
            resolve(0);
        }else{
            resolve(result[result.length-1]);
        }
    })();
};

Я хочу выполнить все эти функции последовательно, так как эта задача не может быть выполнена async

1 Ответ

0 голосов
/ 08 февраля 2019

Проблема заключается в () следующем Promise конструкторе.Удалить () после вызова конструктора.Цепочка от .catch() до Promise с, чтобы избежать ошибки UnhandledPromiseRejectionWarning.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...