Promise.all()
Promise.allSettled()
Promise.any()
Promise.race()
Promise.reject()
Promise.resolve()
var p1 = new Promise((resolve, reject) => {
resolve()
reject()
});
var p2 = new Promise((resolve, reject) => {
resolve()
reject()
});
var p3 = new Promise((resolve, reject) => {
resolve()
reject()
});
Promise.all([p1,p2,p3])
promise.all也是一個(gè)pending狀態(tài)的promise,當(dāng)p1,p2,p3都是成功的,那么就會(huì)調(diào)用promise。all().then()的第一個(gè)參數(shù),參數(shù)的值就是3個(gè)的集合的值
若p1,p2,p3有一方都錯(cuò)誤,就會(huì)調(diào)用prmosie.all.then()的第二個(gè)參數(shù),參數(shù)的值是錯(cuò)誤的那個(gè)value
Promise.allSettled(),等到p1,p2,p3,都完成就會(huì)調(diào)用,不管成功還是失敗,調(diào)用.then()的第一參數(shù)
Promise.any(),等到第一個(gè)成功的
這個(gè)方法用于返回第一個(gè)成功的 promise
Promise.race(),只要第一個(gè)就可以,不管成功還是失敗
如果迭代包含一個(gè)或多個(gè)非承諾值和/或已解決/拒絕的承諾,則 Promise.race 將解析為迭代中找到的第一個(gè)值。
all的then的兩個(gè)參數(shù)幺妹一起,幺妹就錯(cuò)誤的那個(gè)
allselected就一個(gè)參數(shù),參數(shù)就是完成后就是所有結(jié)果的集合,不管成功失敗
race就一個(gè)參數(shù),參數(shù)就是第一個(gè)完成的結(jié)果,不管成功失敗
any需要有兩個(gè)參數(shù),第一個(gè)就是第一個(gè)完成的成功的結(jié)果,第二個(gè)就是水都沒有對(duì)才調(diào)用AggregateError: All promises were rejected