理解Promise (2)
生活随笔
收集整理的這篇文章主要介紹了
理解Promise (2)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一進來 我們開始執行 executor函數 傳遞兩個參數 再調用 then 方法 ,then 方法里面有 OnResolve方法,OnReject 方法 在then 方法中,我們一開始的狀態是pending 然后根據 狀態的不同 調用不同的函數, 在兩個不同的函數中 我們 進行判斷 因為狀態一開始都是有 pending = > success 或者 pending =>fail 判斷 時修改 狀態 和 顯示值 function Promise(executor) {let self = this;self.value = null;self.reason = null;//設置默認狀態self.status = 'pending'//成功函數
function resolve(value) {if(self.status=='pending') {self.status = 'success';// console.log(self.value);self.value = '運行成功了'}};//失敗函數
function reject(reason) {if(self.status == 'pending') {self.status = 'fail';self.reason = '運行失敗了'}}//默認立即執行函數 傳遞兩個參數
executor(resolve,reject);
}
Promise.prototype.then = function(OnResolve,OnReject) {console.log(this.value)if(this.status == 'success') {OnResolve(this.value);}if(this.status =='fail') {OnReject(this.reason);}
};
module.exports= Promise;
//一進來 我們開始執行 executor函數 傳遞兩個參數 再調用 then 方法 ,then 方法里面有 OnResolve方法,OnReject 方法
// then 方法中,我們一開始的狀態是pending 然后根據 狀態的不同 調用不同的函數,
// 在兩個不同的函數中 我們 進行判斷 因為狀態一開始都是有 pending = > success 或者 pending =>fail
// 判斷 時修改 狀態 和 顯示值
?
運行: 開始運行了 運行成功了 success 運行成功了 運行結束這里還沒有進行異步的處理
轉載于:https://www.cnblogs.com/guangzhou11/p/11299452.html
總結
以上是生活随笔為你收集整理的理解Promise (2)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 理解Promise (1)
- 下一篇: 理解Promise (3)