letx=0;functionadd(){returnnewPromise(resolve=>{if(x===1)returnresolve(x);//這里是一個異步操作setTimeout(()=>resolve(x+=1),1000);})}add().then(r=>console.log(r));add().then(r=>console.log(r));add().then(r=>console.log(r));我要怎么樣保證add()在x===1時不會進行異步操作?而且我不知道會有多少個add()。具體場景是:用戶進入一個頁面時,會觸發(fā)多個ajax,這些ajax的后臺方法里都要調(diào)一次add()去驗證一下權限(驗證權限是個異步操作,即setTimeout),如果驗證過了(即X===1),那就不用驗證直接放行,否則攔截這個請求。
js 怎么避免重復的異步操作怎么回事哈啊?
胡子哥哥
2019-09-12 16:16:02