iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 13
0

Promise 也是 ES6 新加入的標準,它的用處在預留一個我們目前沒有,但之後會有的值,它能保證我們未來會得到一個非同步計算的結果。如果 promise 實現了,我們會得到一個值。如果發生了問題,那我們會得到錯誤的原因。

Promise 最明顯的例子是從伺服器取得資料,使用內建的 Promise constructor 建立一個 promise 物件,在 constructor 裡傳入二個函式,一個是 promise 實現(fulfilled)時會呼叫的,另一個則是發生問題時會呼叫的。

Promise 建立後會是 pending 狀態,待得到回傳之後,就會視結果而呼叫 resolvereject 二個函式其中之一,而 promise 物件的狀態也會同時變成 resolvereject ,並且不會再改變。

Promise((resolve, reject) => {
	if(condition) {
		resolve();
	} else {
		reject();
	}
});

上一篇
Day 12: Generator
下一篇
Day 14: async, await
系列文
JavaScript 忍者的修練--從下忍進階到中忍30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言