nodejs漸入佳境[14]-promise物件處理非同步
阿新 • • 發佈:2018-12-01
Promise
promise是nodejs的物件,用於處理非同步的同步操作。
new Promsie新建一個promise物件,兩個引數(resolve,reject)是兩個函式。
當呼叫resolve意味著操作成功。
當呼叫reject意味著操作失敗。
resolve和reject都只會執行一次。
then 函式會在promise執行完畢之後呼叫。
第一個引數回撥函式會在resolve成功後呼叫,第二個回撥函式會在reject觸發後呼叫。
resolve操作成功
1 |
var somePromise = new Promise((resolve,reject |
打印出hey it works
reject操作失敗
1 |
var |
打印出Error: ai it is error
複雜promise
帶引數並且多重then函式。
1 |
var asyncAdd = (a,b)=>{ |
執行結果:
1 |
Result 12 |
多重then特性
在asyncAdd(5,‘7’)函式reject失敗後,第二個then仍然呼叫的是第一個回撥函式。
1 |
var asyncAdd = (a,b)=>{ |
結果為:
1 |
Argument must be number |
版權宣告: 本部落格所有文章除特別宣告外,均採用 CC BY 4.0 CN協議 許可協議。轉載請註明出處!