ES6 promise
生活随笔
收集整理的這篇文章主要介紹了
ES6 promise
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Promise
基本概念:
Promise:是ES6中新增的異步編程解決方案,體現在代碼中它是一個對象,可以通過Promise 構造函數來實例化。
new Promise(cb)
三種狀態:Pending、 Resolved、Rejected
兩個原型方法:
Promise.prototype.then()
Promise.prototype.catch()
兩個常用的靜態方法:
Promise.all() // 可以將多個Promise實例包裝成一個新的Promise實例
- 當所有Promise實例的狀態都變成resolved,Promise.all的狀態才會變成resolved,此時返回值組成一個數組,傳遞給then中的resolve函數。
- 只要期中有一個被rejected,Promise.all的狀態就變成rejected,此時第一個被rejected的實例的返回值,會傳遞給p的回調函數。
Promise.resolve()
Pending ====> Resolved(已完成)
Pending ====> Rejected(已失敗)
Promise.resolve()三種用法
//參數是Promise實例,將不做任何修改、原封不動的返回這個實例
//將對象轉為Promise對象,然后就立即執行thenable對象的then方法
Promise.resolve({then(resolve, reject){const img = new Image();img.src = imgs[0];img.onload = function (){resolve(this)}}}).then(function(data){})//參數是一個基本數據類型或者不傳參數 ,那么返回一個狀態為resolved的Promise對象
Promise.resolve('abc').then(function(str){console.log(str); //abc})const p = Promise.resolve();console.log(p) 與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的ES6 promise的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ERROR 1436 (HY000) a
- 下一篇: 干货|EOS和它引领的POS新时代