看看有多少人中枪,你能说出这段程序执行是怎样的吗?
发布于 6 年前 作者 MiYogurt 2533 次浏览 来自 问答
let count = 1
let wait = new Promise(resolve => {
  setTimeout(() => {
    resolve(count++)
  }, 1000)
})

const fn = () => {
  return wait.then(console.log)
}
fn()
  .then(fn)
  .then(fn)

提示一下:wait 不是一个工厂函数哟。

2 回复

第一感觉,依次打印 1 2 3


跑下程序

1
1
1

呐呢 what??

原来如此:

wait是一个promise,在调用fn的时候其实它已经是resolve状态了。所以每次调用fn的时候resolve的值都是1

<del>我这个人比较笨,只能跑下才能知道答案,反正前端一下就跑出结果了</del> 4 4 4 xxxx wait 居然是个 promise ,漏掉了提示,粗心吶

回到顶部