为什么.then()里面有些函数用return,有些不用return呢?有什么区别呢?

来源:6-4 人物进出商店的坐标计算

慕粉13482341627

2016-10-28 14:39

为什么.then()里面有些函数用return,有些不用return呢?有什么区别呢?

boy.walkTo(2000, 0.5)

                .then(function() {

                    //暂停走路

                    boy.stopWalk()

                })

                .then(function() {

                    //开门

                    return openDoor();

                })

                .then(function() {

                    //开灯

                    lamp.bright()

                })

                .then(function() {

                    //进商店

                    return boy.toShop(2000)

                }).then(function() {

                    //出商店

                    return boy.outShop(2000)

                }).then(function() {

                    //灯暗

                    lamp.dark()

                });


写回答 关注

2回答

  • stone310
    2016-10-31 00:01:16
    已采纳

    要用到then之前呢,必定会有个deferred的返回值,然后再then,如果then里面有return,则就是链式调用,如果没有return,就是同时执行;

    再看回这个例子,

    第一个暂停没有return,说明这个暂停动画和后面的开门动画是同时执行的;

    第二个开门有return,说明这个开门动画执行完毕之后再去执行开灯动画;

    第三个开灯没有return,说明这个开灯动画和后面的进商店动画同时执行;

    如此类推

    慕粉1348...

    非常感谢!

    2016-10-31 09:58:33

    共 1 条回复 >

  • 彼岸誰在
    2016-10-28 15:15:53

    当 ()=>{} {}内有多条语句,须加return

H5+JS+CSS3实现七夕言情

为七夕节准备的H5+JS+CSS3特效案例,由浅入深案例拆分讲解

211525 学习 · 540 问题

查看课程

相似问题