在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ vue 中多個(gè)并發(fā)請(qǐng)求當(dāng)一個(gè)請(qǐng)求檢測(cè)到需要登錄時(shí),取消其它請(qǐng)求并在登錄完成后重新

vue 中多個(gè)并發(fā)請(qǐng)求當(dāng)一個(gè)請(qǐng)求檢測(cè)到需要登錄時(shí),取消其它請(qǐng)求并在登錄完成后重新發(fā)起

這個(gè)項(xiàng)目是在微信中基于微信的靜默登錄,也就是不需要多余用戶登錄填寫,只需要跳轉(zhuǎn)重新加載一遍頁面就完成登錄了,之前是用攔截器做的檢測(cè)到未登錄的代碼就直接跳轉(zhuǎn)實(shí)現(xiàn)自動(dòng)登錄再返回原來頁面,但是同一個(gè)頁面該發(fā)起的請(qǐng)求還是同時(shí)發(fā)起了。

現(xiàn)在我想實(shí)現(xiàn)的是

//同時(shí)發(fā)起5個(gè)請(qǐng)求
axios1()//假如第一個(gè)請(qǐng)求拿到數(shù)據(jù)檢測(cè)到未登錄的話就取消掉后邊的幾個(gè)請(qǐng)求
axios2()
axios3()
axios4()
axios5()

有什么比較好的思路或者實(shí)現(xiàn)方式么?

回答
編輯回答
青裙

http是無狀態(tài)請(qǐng)求,請(qǐng)求無法被取消。非要用異步實(shí)現(xiàn)的這個(gè)功能是不可能的,但是你可以取消回調(diào)函數(shù)的執(zhí)行。

2018年4月15日 14:10
編輯回答
裸橙

你可以使用axios.all(),雖然不會(huì)取消其他請(qǐng)求,但是只要有一個(gè)借口異常,所有接口就不會(huì)走正常的回調(diào)函數(shù),這樣也不會(huì)影響業(yè)務(wù)操作

2018年9月5日 16:46
編輯回答
柒喵

你可以參考我這篇筆記,思路是一樣的,將所有的請(qǐng)求放到一個(gè)數(shù)組里,然后有一個(gè)請(qǐng)求去請(qǐng)求登陸的,待其請(qǐng)求完成后再發(fā)起數(shù)組里其他的請(qǐng)求
http://segmentfault.com/n/133...

2017年12月30日 00:43
編輯回答
選擇

你可以在axios請(qǐng)求的時(shí)候做攔截

2017年11月22日 14:51
編輯回答
凝雅

你可以等到一個(gè)請(qǐng)求完之后在決定是否要發(fā)起后續(xù)的請(qǐng)求

2018年9月22日 00:27
編輯回答
艷骨

如果是后端渲染的話。直接可以判斷是否登錄了吧。
把a(bǔ)jax放到一個(gè)只執(zhí)行一次的user_login的事件監(jiān)聽里。
頁面未登錄登錄一下觸發(fā)user_login事件
頁面登錄的話直接觸發(fā)事件

2017年6月14日 10:30
編輯回答
櫻花霓

這樣行嗎?

axios1().then(res=>{
        if(!res.login){
        //go login
        }else{
        axios2()
        axios3()
        axios4()
        axios5()
        }
})
2017年2月4日 16:27
編輯回答
哎呦喂

通過cancelToken可以取消get類型請(qǐng)求,但是其他類型的請(qǐng)求無法通過cancelToken取消

2017年11月28日 20:12
編輯回答
單眼皮

首先包裝一下每一個(gè) promise ,即使失敗也至為 resolve 狀態(tài),然后用 Promise.race 確保一個(gè)完成后記錄下 index 或者 id,然后重新發(fā)這個(gè) array 里面的其他請(qǐng)求。

request 的 abort 不知道兼容性如何,這種方法是所有請(qǐng)求都必須發(fā)完全,并且除了成功的那個(gè)其他都會(huì)發(fā)兩遍。

2018年1月17日 06:25
編輯回答
尛曖昧

首先,你要復(fù)寫 axios 方法(不推薦)或者自己封裝一個(gè)方面(推薦),然后:

  1. 接到任何請(qǐng)求,都直接加入隊(duì)列
  2. 判斷是否已登錄,如是,則正常發(fā)送請(qǐng)求
  3. 如果不是,則跳轉(zhuǎn)到登錄頁登錄
  4. 登錄完成后,檢查隊(duì)列,如果有請(qǐng)求,就發(fā)送
2018年3月4日 16:43