日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

JavaScript 中對于Promise的理解

 

Promise 是 CommonJS 中的規范,它能夠幫助我們控制代碼流程,避免函數的多層嵌套。現在 Web 前端異步編程越來越普遍,它的出現讓異步編程變得更佳的容易理解。由于它越來越受到重視,ES6 已經開始支持它了。

什么是 Promise?

Promise 是一種異步編程的模型。它有三種狀態:pending、resolved 和 rejected;一個 Promise 的狀態只可能從 pending 轉到 resolved 或者 rejected,不能逆向轉換;同時 resolved 和 rejected 狀態是不能相互轉換的。

Promise 必須實現 then 方法,then 方法可以接受兩個回調函數,第一個是操作成功時(狀態變為 resolved)的回調,第二個是操作失敗時(狀態變為 rejected)的回調。

Promise 的優缺點:

  • [優勢]在異步編程中即保證代碼簡潔(避免嵌套),又讓代碼有異步運行的能力;
  • [缺點]無法取消 Promise,一旦新建它就會立即執行,無法中途取消;
  • [缺點]如果不設置回調函數,Promise 內部拋出的錯誤,不會反應到外部;
  • [缺點]當處于 Pending 狀態時,無法得知目前進展到哪一個階段;

ES6 中的 Promise

Promise.prototype.then()

then 方法返回的是一個新的 Promise 實例,但是它并不是原來那個 Promise 實例。這樣就可以采用鏈式的寫法,即 then 方法后面在調用另外一個 then。

Promise.prototype.catch()

catch 方法是指發生錯誤時的回調函數:

Promise.all()

all 方法用于將多個 Promise 實例,包裝成一個新的 Promise 實例。

Promise.race()

race 方法同樣是將多個 Promise 實例,包裝成一個新的 Promise 實例。

Promise.resolve()

Promise.reject()

done()

finally()

分享到:
標簽:JavaScript
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定