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()去驗證一下權(quán)限(驗證權(quán)限是個異步操作,即setTimeout),如果驗證過了(即X===1),那就不用驗證直接放行,否則攔截這個請求。
急求!?。。s 怎么避免重復(fù)的異步操作(不問了,目前沒辦法后臺做到,只能改造前端了)跪求!
達令說
2019-09-19 11:59:06