我正在研究多个异步函数,这些函数可以独立修改全局变量。
我为函数编写了一些代码,以便仅在没有其他函数对其起作用时修改变量:
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;
}
请让我知道此方法是否有缺陷?在修改时是否有更好的方法来实现变量隔离?