小编Mas*_*Bob的帖子

使用 Async/Await 控制哪些代码停止

您可以使用 停止async函数之外的代码await吗?但是,我不希望所有代码都停止。我想控制将运行哪些代码。

我认为可能有一个解决方案,如下所示:

var isAsyncRunning = false;
var currentPromise;
async function asyncFunc(){
    isAsyncRunning = true;
    //Do some code here
    currentPromise = promise; //promise was defined inside the code
    await promise;
    promise.then(function(){
        isAsyncRunning = false;
    });
}
async function anotherFunction(){
    if(!isAsyncRunning){
        await currentPromise;
    }
    //Do some other code here
}
Run Code Online (Sandbox Code Playgroud)

但是,我有很多功能,并且不想将其应用于我拥有的每一个功能。

有更好的解决方案吗?如果没有,我能做些什么来减少这种耗时?

javascript asynchronous promise async-await ecmascript-2017

3
推荐指数
1
解决办法
7203
查看次数