JavaScript 异步编程

新手上路,请多包涵

JavaScript 异步编程返回构造实例对象时,为什么要传一个参数,并且fn2为什么打印的是如下代码:

res => {
          this.value = res
        }

如图所示:

代码附上:

function Aiesec (fn) {
  this.value = undefined;
  this.then = (resolve) => {
    return new Aiesec(fn2 => {
      // console.log(fn2)
      this.value = resolve(this.value)
      fn2(this.value)
    })
  },
    fn(res => {
      this.value = res
    })
}
var aiesec = new Aiesec((resolve) => {
  resolve(1)
}).then(res => {
  console.log(res)
  return res + 1;
}).then(res => {
  console.log(res)
})
```~~~~
阅读 1.6k
1 个回答

异步就是靠回调呀。这个看上去自己实现了个Promise

  1. onload = function(){}
  2. promise的then
  3. async、await
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题