7行代码闭包实现Promise

518 阅读1分钟
    function Promise(f) {
      return {
        then:(resolve=()=>null,reject=()=>null) => {
          return f(resolve,reject)
        }
      }
    }

使用方式

    const getJson = function() {
      return new Promise((resolve, reject) => {
        setTimeout(function(){
          resolve({name:'张三'})
        },1000)
      })
    }
    const res = getJson()
    res.then(data => {
      console.log(data)
    })