move函数能否详细解释一下

move函数能否详细解释一下

# 具体遇到的问题
const move(el,{x=0,y=0}={},end=()=>{})这里的end是怎么运作的?transitionend事件触发以后那段代码能否详细解释一下?# 报错信息的截图

# 相关课程内容截图

# 尝试过的解决思路和结果

# 粘贴全部相关代码,切记添加代码注释(请勿截图)

在这里输入代码,可通过选择【代码语言】突出显示

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,对于你的问题解答如下:

  1. 函数move定义时,设置了一个形参名为end,设置它的默认值为一个函数,当触发了transitionend事件,执行对应的事件函数时,就会执行该事件函数内部的代码end()调用end函数了。

    http://img1.sycdn.imooc.com//climg/5fb4b7c809744a0f08580430.jpg

    在调用move函数时,传入() =>{resolve()}对应的就是end,如下图所示:

    http://img1.sycdn.imooc.com//climg/5fb4b929090cdb5400000000.jpg

    所以调用end方法是,实际会调用Promise对象的resolve(),将Promise对象的状态更改为成功。

  2. 代码是按着从上到下的顺序执行,可以结合下图注释理解:

    http://img1.sycdn.imooc.com//climg/5fb4bba309c6bc7512340673.jpg

同学可以跟着视频中的讲解,自己动手写一写代码,结合代码实现的效果,帮助自己更好的去理解。

祝学习愉快~

  • lambkinjie 提问者 #1
    是否在回调地狱的代码中,end()并没有起到任何作用?
    2020-11-19 10:15:35
好帮手慕慕子 2020-11-19 11:34:31

同学你好, 在回调地狱的代码中,end方法起作用了,调用move方法,传递的第三个参数对应的就是end参数,也就说,在上一次运动完成之后,触发了transitionend事件,事件函数内部执行end(),调用end方法之后,才会接着执行里面回调函数中的代码,再次调用move方法,如下图所示:

http://img1.sycdn.imooc.com//climg/5fb5e75e09e663b706750417.jpg

祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师