为了账号安全,请及时绑定邮箱和手机立即绑定

Promise做动画,then 无法执行

不知道是里错了,只有第一次调用promiseAnimate(),ball1动了,接下来的都没有运动。应该是then没有执行。

var Promise = window.Promise;
        function promiseAnimate(ball,distance){
            return new Promise(function(resolve,reject){
                function _animate(){
                    setTimeout(function(){
                        var marginLeft = parseInt(ball.style.marginLeft,10);
                        if(marginLeft === distance){
                            resolve
                        }else{
                            if(marginLeft < distance){
                                marginLeft++;
                            }else{
                                marginLeft--;
                            }
                            ball.style.marginLeft = marginLeft + 'px';
                            _animate();
                        }
                    },13)
                }
              _animate()  
            })
        }
        promiseAnimate(ball1,100)
            .then(function(){
                return promiseAnimate(ball2,200)
            })
            .then(function(){
                return promiseAnimate(ball3,300)
            })
            .then(function(){
                return promiseAnimate(ball3,150)
            })
            .then(function(){
                return promiseAnimate(ball2,150)
            })
            .then(function(){
                return promiseAnimate(ball1,150)
            })


正在回答

3 回答

应该是 resolve()

4 回复 有任何疑惑可以回复我~
#1

GrahamHuang 提问者

非常感谢!
2016-09-04 回复 有任何疑惑可以回复我~
#2

async_M

为什么加上resolve就会执行then方法,不加的话只执行一次???
2016-09-21 回复 有任何疑惑可以回复我~
#3

慕粉3832819

我将第8行的resolve改成resovle()还是不行,只有ball1动
2017-05-10 回复 有任何疑惑可以回复我~

谢谢,我也是同样的问题,跟着视频写的代码怎么都调不对,汗 ,开始是那个px  自己弄出来了,这个then不执行,直接把我弄懵了

0 回复 有任何疑惑可以回复我~

请问你们是怎么测试的?直接在浏览器输入网址?不需要发布什么的吗?

0 回复 有任何疑惑可以回复我~
#1

async_M

不需要,直接打开html文件就行
2016-09-21 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
进击Node.js基础(二)
  • 参与学习       76755    人
  • 解答问题       226    个

本教程带你攻破 Nodejs,让 JavaScript流畅运行在服务器端

进入课程

Promise做动画,then 无法执行

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信