请老师解答,谢谢
- 117行的resolve()为什么不能放在115和116行之间?有点不太理解
- 为什么127行和130行的return不能省略而133行省略了也不会影响特效?不是默认也可以返回成功状态,和这个return返回的成功状态有什么区别?
27
收起
正在回答
1回答
同学你好,解答如下:
1、resolve写在哪,要看需要它在哪里执行。我们的逻辑是,在move方法中执行resolve,所以需要将resolve放到函数中传给move方法,即写在117行。
2、3个then中,都不写return,那么每个then可以默认返回成功状态。但是状态的改变时间差太小了,即第一个then执行完,第二个then就会立马执行。两个then中,movePromise方法产生的动画会发生叠加现象,实际效果与预期不符。写了return之后,后一个then会等待前一个then中动画执行完再执行,即动画效果是“第一个动画执行完,再执行第二个动画”这是我们想要的效果。
最后一个then中的动画执行完,就结束了,后面没有其他动画了,所以最后一个then中可以不写return。
祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星