看看有多少人中枪,你能说出这段程序执行是怎样的吗?
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 ,漏掉了提示,粗心吶