JS之路:Promise

时间:2020-12-17 11:50:39   收藏:0   阅读:28

手动实现一个简易版的Promise

function PromiseSimple (excutor) {
      let _this = this
      let _status = ‘pending‘
      let successCallBack = undefined
      let failCallBack = undefined
      excutor(resolve.bind(_this), reject.bind(_this))
      function resovle (params) {
        if (_this._status === ‘pending‘) {
          _this._status = ‘full‘
          _this.successCallBack(params)
        }
      }
      function reject (params) {
        if (_this._status === ‘pending‘) {
          _this._status = ‘fail‘
          _this.failCallBack(params)
        }
      }
 }
 PromiseSimple.prototype.then = function (full, fail) {
      this.successCallBack = full
      this.failCallBack = fail
    }

原文:https://www.cnblogs.com/fontyou/p/14148006.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!