老师,是这样理解吗?
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 星