问答详情
源自:6-4 人物进出商店的坐标计算

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

为什么.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()

                });


提问者:慕粉13482341627 2016-10-28 14:39

个回答

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

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

    再看回这个例子,

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

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

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

    如此类推

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

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