等待多個非同步函式全部執行完成的函式建立不同於順序執行。
function
fn1(
)起跑。。。`);
settimeout
(function()
到達終點`);
console.
log(
`1號開啟了門`);
door
(demo);}
,3000);
})}function
fn2(
)起跑。。。`);
settimeout((
)=>
到達了終點`);
console.
log(
`2號開啟了門`);
door
(demo);}
,2000);
})}function
fn3(
)起跑。。。`);
settimeout((
)=>
到達終點`);
console.
log(
`3號開啟了門`);
door
(demo);}
,5000);
})}
呼叫:
//呼叫:
promise.
all(
[fn1()
,fn2()
,fn3()
]).then
(arr=>
);
這裡的arr陣列儲存了promise.all中所有非同步函式通過door()返回的執行結果。
注意:arr中返回值儲存的順序和非同步函式執行完成的順序無關。只和呼叫順序有關。
ES6 Promise基本用法
1 promise是什麼 promise是非同步程式設計的一種解決方案,在es6中promise被列為了正式規範,統一了用法,原生提供了promise物件。2 基礎用法 resolve代表成功 reject失敗 都是乙個函式 let p new promise function reslove,re...
ES6 Promise使用介紹
1 什麼是promise promise 是非同步程式設計的一種解決方案,比傳統的解決方案 函式和事件 更合理和更強大。這麼說可能不夠直觀的理解,看下面的兩個例子 callback 函式 function getcallback n,callback 2000 getcallback 3,funct...
ES6 promise簡單實現
從promise的概念和使用分析 一句話 利用3個狀態,當執行一次後狀態改變同時執行then中當所有事件 狀態改變後,不會在執行 1.建構函式 2.3個狀態 pending,fulfilled,rejected,狀態一旦確定為fulfilled,rejected就不會在更改 3.引數是函式,prom...