Promise 代表著一個異步操作,這個異步操作現(xiàn)在尚未完成,但在將來某刻會被完成。
Promise 有三種狀態(tài)
pending : 初始的狀態(tài),尚未知道結(jié)果
fulfilled : 代表操作成功
rejected : 代表操作失敗
如果 Promise 操作 fulfilled 或者 rejected ,并且對應(yīng)的處理函數(shù)被聲明了,則該處理函數(shù)被調(diào)用。
Promise vs 事件監(jiān)聽器(event listener)
事件監(jiān)聽器善于處理同一對象上重復(fù)發(fā)生的事情,例如按鍵、點擊鼠標等。對于這些事件,你只關(guān)心添加回調(diào)函數(shù)之后的發(fā)生的事情。當處理結(jié)果導(dǎo)向的異步事件時,你的代碼可能是
img1.callThisIfLoadedOrWhenLoaded(function() { // loaded}).orIfFail