1. 程式人生 > >【學習記錄】Promise

【學習記錄】Promise

1、Promise.all 全部執行完回撥var p1 = new Promise(function (resolve, reject) {
    setTimeout(resolve, 500, 'P1');
});
var p2 = new Promise(function (resolve, reject) {
    setTimeout(resolve, 600, 'P2');
});
// 同時執行p1和p2,並在它們都完成後執行then:
Promise.all([p1, p2]).then(function (results) {
    console.log(results); // 獲得一個Array: ['P1', 'P2']
});
2、Promise.race 返回最快的那個結果,另一個結果被拋棄var p1 = new Promise(function (resolve, reject) {
    setTimeout(resolve, 500, 'P1');
});
var p2 = new Promise(function (resolve, reject) {
    setTimeout(resolve, 600, 'P2');
});
Promise.race([p1, p2]).then(function (result) {
    console.log(result); // 'P1'
});3、按順序執行
var p = new Promise(function (resolve, reject) {     log('start new Promise...');     resolve(123); }); p.then(p1)  .then(p1)  .then(p3)  .then(p4)  .then(function (result) {     log('Got value: ' + result); });   詳細原文地址:https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/0014345008539155e93fc16046d4bb7854943814c4f9dc2000