var promise = new Promise((resolve, reject)=> {if (操作成功) {resolve (value)}else{reject(error)} }) promise.than(function (value) {/*成功*/}, function(value) {/*失敗*/})
Promise是異步編程的一種解決方案, 比傳統的解決方案--回調函數和事件更加強大.由社區最早提出和實現,ES6將其寫進了語言標準,統一了用法,原生提供了Promise對象.
沒有Promise之前,解決異步都是依賴回調,但執行多個具備前后順序的異步操作時代碼就會非常亂并且出現問題難調試.
沒有Promise之前,解決異步都是依賴回調,但執行多個具備前后順序的異步操作時代碼就會非常亂并且出現問題難調試.
https://www.jianshu.com/p/5d64f118e096
當操作多時就會回調中嵌著回調,所謂的回調地獄.
Promise一旦新建就立刻執行, 此時的狀態是Pending(進行中),它接受兩個參數分別是resolve和reject.它們是兩個函數.
resolve函數的作用是將Promise對象的狀態從'未完成'變為'成功'(由Pending變為Resolved), 在異步操作成功時,將操作結果作為參數傳遞出去;
reject函數的作用是將Promise對象的狀態從'未完成'變為失敗(由Pending變為Rejected),在異步操作失敗時調用,并將異步操作的錯誤作為參數傳遞出去.
resolve函數的作用是將Promise對象的狀態從'未完成'變為'成功'(由Pending變為Resolved), 在異步操作成功時,將操作結果作為參數傳遞出去;
reject函數的作用是將Promise對象的狀態從'未完成'變為失敗(由Pending變為Rejected),在異步操作失敗時調用,并將異步操作的錯誤作為參數傳遞出去.
Promise的用法
- 1.生成Promise實例
- 2. 執行一系列同步操作
- 3.使用resolve函數將異步操作的結果傳遞出去, reject函數傳遞異步操作的錯誤
- 4.用then方法分別指定Resolve狀態和Reject狀態的函數,then方法返回一個新的Promise實例,因此可以采用鏈式寫法
箭頭函數
let const
set
class
模板字符串
promise
https://www.cnblogs.com/fengxiongZz/p/8191503.html