这是在Javascript中模拟互斥功能的正确方法吗?

时间:2019-04-01 06:29:27

标签: javascript asynchronous

我正在研究多个异步函数,这些函数可以独立修改全局变量。

我为函数编写了一些代码,以便仅在没有其他函数对其起作用时修改变量:

let globalVar = [];
let busy = false;

let runAsync = async() => {
    while(busy)
        await sleep(ms);
    busy = true;

    //Modify global var
    globalVar.push(newInformation);

    //let asyncs know the data is free to be modified again
    busy = false;
}

请让我知道此方法是否有缺陷?在修改时是否有更好的方法来实现变量隔离?

0 个答案:

没有答案