账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    关于jQuery Deferred 对象的使用, 这个问题百思不解,求教
    41
    0

    碰到一个例子,自己想来想去没明白:

    function A() {
        var deferred = $.Deferred();
        setTimeout(function() {
            console.log( 'A return.' );
            deferred.resolve("A return!");
        }, 1000);
    
        return deferred.promise();
    }
    
    function B() {
        var deferred = $.Deferred();
        setTimeout(function() {
            console.log( 'B return.' );
            deferred.resolve( "B return!");
    
        }, 2000);
    
        return deferred.promise();
    }
    
    function C() {
        console.log( 'C return.' );
    }
    
    //这样子运行时,
    $.when( A() ).then( B ).then( C );
    //输出结果:
    A return.
    B return.
    C return.
    
    //如果是这样运行时,
    $.when( A() ).then( B() ).then( C() );
    //输出结果:
    C return.
    A return.
    B return.

    只是改写了 B->B(), C->C(), 好象没什么区别? 为什么输出结果不一样了呢?

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部