gpt4 book ai didi

javascript - 异步等待 promise

转载 作者:搜寻专家 更新时间:2023-10-31 23:07:43 25 4
gpt4 key购买 nike

我必须等待 func1 终止才能运行 func2。但是由于 func1/2/3 包含 promise ,它会提前打印“终止”。

async function executeAsyncTask () {
const res1 = await func1(a,b,c)
const res2 = await func2(a,b,c)
const res3 = await func2(a,b,c)

return console.log(res1 , res2 , res3 )
}

executeAsyncTask ()

函数1

class A{

promise_API_CALL(params){
//some code here..
}

func1(a,b,c){

//so work here...

this.promise_API_CALL(params, function( data, err ) {
if(err){console.error(err)}
console.log( data );
return data;
});

//so work here...
console.log("termined")


}

编辑:promise_API_CALL 是一个外部库的函数

最佳答案

尝试将 api 调用包装在一个 promise 中。否则我看不到它按照你想要的方式工作:

func1(a, b, c) {
return new Promise((resolve, reject) => {
this.promise_API_CALL(params, function(data, err) {
if (err) {
console.error(err)
reject(err);
}

console.log(data);
resolve(data);
});

//so work here...
console.log("termined")
});
}

关于javascript - 异步等待 promise ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47579621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com