10 回答

TA貢獻(xiàn)1719條經(jīng)驗(yàn) 獲得超6個(gè)贊
這樣行嗎?
axios1().then(res=>{
if(!res.login){
//go login
}else{
axios2()
axios3()
axios4()
axios5()
}
})

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超22個(gè)贊

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

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超6個(gè)贊
首先包裝一下每一個(gè) promise ,即使失敗也至為 resolve 狀態(tài),然后用 Promise.race 確保一個(gè)完成后記錄下 index 或者 id,然后重新發(fā)這個(gè) array 里面的其他請(qǐng)求。
request 的 abort 不知道兼容性如何,這種方法是所有請(qǐng)求都必須發(fā)完全,并且除了成功的那個(gè)其他都會(huì)發(fā)兩遍。

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超8個(gè)贊
首先,你要復(fù)寫 axios 方法(不推薦)或者自己封裝一個(gè)方面(推薦),然后:
接到任何請(qǐng)求,都直接加入隊(duì)列
判斷是否已登錄,如是,則正常發(fā)送請(qǐng)求
如果不是,則跳轉(zhuǎn)到登錄頁登錄
登錄完成后,檢查隊(duì)列,如果有請(qǐng)求,就發(fā)送

TA貢獻(xiàn)2011條經(jīng)驗(yàn) 獲得超2個(gè)贊
添加回答
舉報(bào)