老师,是这样理解吗?
function cook() {
console.log('开始做饭。');
var p = new Promise(function(resolve, reject){
setTimeout(function() {
console.log('做饭完毕!');
resolve('鸡蛋炒饭');
}, 1000);
});
return p;
}
function eat(data) {
console.log('开始吃饭:' + data);
var p = new Promise(function(resolve, reject) {
setTimeout(function() {
console.log('吃饭完毕!');
resolve('一块碗和一双筷子');
}, 2000);
});
return p;
}
function wash(data) {
console.log('开始洗碗:' + data);
var p = new Promise(function(resolve, reject) {
setTimeout(function() {
console.log('洗碗完毕!');
resolve('干净的碗筷');
}, 2000);
});
return p;
}
//补充代码
cook()
.then(function(data){
return eat(data);
})
.then(function(data){
return wash(data);
})
.then(function(data){
console.log(data);
})Promise在执行then方法中执行回调函数resolve,这里的resolve就是eat,eat执行成功之后的参数data(鸡蛋炒饭)传入下一个then,作为下一个then的参数传给wash,一层一层下去,这样理解对吗?
但是为什么要return (return eat(data)),函数中不是已经return p 了吗?
33
收起
正在回答
2回答
同学你好,你的理解是正确的。继续加油,祝学习愉快~
4.Vue与React高级框架开发
- 参与学习 人
- 提交作业 239 份
- 解答问题 10739 个
本阶段带你深入前端开发的肌理,通过ES6基础知识和前端主流高级框架的学习,助你快速构建企业级移动webAPP应用,进入职场的终极battle
了解课程


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