Promise.all和Promise.race是兩種非常實(shí)用的方法,在我們的日常開發(fā)中某些場景時(shí)使用特別方便碎连。
1.Promise.all(arr): 其中arr是多個(gè)Promise對象實(shí)例,只用當(dāng)里面的所有實(shí)例有返回值時(shí)潦俺,Promise.all才會(huì)有返回值(其值是一個(gè)數(shù)組)匿刮。在實(shí)際開發(fā)中,例如請求c的參數(shù)需要依賴請求a請求b的返回值時(shí)筷畦,我們就可以利用Promise.all讓二者并行去請求。而不需要分別讓二者的請求變得同步刺洒”畋觯基本使用方法如下:
2.Promise.race(arr):?其中arr是多個(gè)Promise對象實(shí)例,就是race這個(gè)單詞的意思一樣逆航,意思是哪個(gè)跑得快鼎文,哪個(gè)就輸出,當(dāng)只要有一個(gè)Promise實(shí)例有返回值時(shí)因俐,Promise.race的返回值就是這個(gè)值拇惋。通常我們再http請求時(shí),做超時(shí)判斷時(shí)可以這樣使用抹剩,設(shè)置一個(gè)定時(shí)器撑帖,當(dāng)定時(shí)器時(shí)間到了時(shí)就在UI上提醒請求超時(shí)“木欤基本使用如下: