promise的执行流程?
//写法一,直接new一个promise,执行结果是1234都能打印出,但是并没有1秒的延迟
let p=new Promise(resolve=>{
setTimeout(()=>resolve(),1000)
});
p
.then(()=>console.log(1))
.then(()=>console.log(2))
.then(()=>console.log(3))
.then(()=>console.log(4));
//写法二,把promise包裹在函数中,结果跟结果一一样
function p(){
return new Promise(resolve=>{
setTimeout(()=>resolve(),1000)
})
}
p()
.then(()=>console.log(1))
.then(()=>console.log(2))
.then(()=>console.log(3))
.then(()=>console.log(4));
//写法三:在每次调用then时都再return出函数p(),就能正确按意愿每隔一秒打印出1234了
function p(){
return new Promise(resolve=>{
setTimeout(()=>resolve(),1000)
})
}
p()
.then(()=>{console.log(1);return p()})
.then(()=>{console.log(2);return p()})
.then(()=>{console.log(3);return p()})
.then(()=>console.log(4));请问前面两种写法为什么错了?他们每一步都是怎么执行的
20
收起
正在回答 回答被采纳积分+1
2回答
4.Vue与React高级框架开发
- 参与学习 人
- 提交作业 239 份
- 解答问题 10739 个
本阶段带你深入前端开发的肌理,通过ES6基础知识和前端主流高级框架的学习,助你快速构建企业级移动webAPP应用,进入职场的终极battle
了解课程

恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星