Javascript 未处理的PromisejectionWarning:TypeError:(中间值)不是函数
我试图使用async/await调用函数(findNextOper()),调用时出现以下错误:Javascript 未处理的PromisejectionWarning:TypeError:(中间值)不是函数,javascript,node.js,promise,Javascript,Node.js,Promise,我试图使用async/await调用函数(findNextOper()),调用时出现以下错误: (node:2748) UnhandledPromiseRejectionWarning: TypeError: (intermediate value) is not a function 我曾尝试在不同的位置添加分号,但没有成功。我不知道如何修理它 //This is where I call the function function regFasiFineLav(pool,oper){
(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]);
}
})();
};
我想按顺序执行所有这些函数,因为此任务无法异步完成问题在于
()
下面的承诺
构造函数。调用构造函数后删除()
。将.catch()
链接到Promise
s以避免未处理的PromisejectionWarning
错误。问题在于()
以下Promise
构造函数。调用构造函数后删除()
。将.catch()
链接到Promise
s以避免未处理的PromisejectionWarning
错误。为什么要将Promise创建和异步函数结合起来?它是冗余的。parseInt(stringTime)
的预期结果是什么?而且,StringToTime
甚至没有做任何异步的事情,所以为什么要用两个承诺来包装它呢?是的,我知道它是冗余的,我只是忘了删除它们。老实说,我不记得parseInt的目的是什么,我在office中有源代码。为什么要将承诺创建和异步函数结合起来?它是冗余的。parseInt(stringTime)
的预期结果是什么?而且,StringToTime
甚至没有做任何异步的事情,所以为什么要用两个承诺来包装它呢?是的,我知道它是冗余的,我只是忘了删除它们。老实说,我不记得parseInt的目的是什么,我的office中有源代码。谢谢,这解决了问题!我对允诺者不是很在行谢谢你,这就解决了问题!我对承诺不太在行