javascript - 何时返回 jQuery 函数而不是仅仅调用它?

标签 javascript jquery callback

我一直在阅读一些有关排队 JS 回调的文章,但没有将它们堆叠在这里, How do I animate in jQuery without stacking callbacks?

我尝试过使用 Julian Aubourg 的答案,我注意到从函数中删除“return”语句后,一切都会立即发生。

我只是想知道这些 return 语句的行为是什么,以及它们在使此代码同步方面发挥什么作用。

    $('div1').fadeOut('slow').promise().pipe(function() {
        return $('div2').fadeOut('slow');
    }).pipe(function() {
        return $('div3').animate({ top: 500 }, 1000 );
    });

最佳答案

现在,所有 jQuery 动画都会返回自己的 promise ,因此基本上您会返回一个 promise ,当您这样做时,该 promise 会在动画完成时得到解决:

return $('div2').fadeOut('slow');

这相当于

var def = new $.Deferred();
$('div2').fadeOut('slow', function() {
    def.resolve();
});
return def.promise();

关于javascript - 何时返回 jQuery 函数而不是仅仅调用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20406249/

相关文章:

javascript - 需要Javascript正则表达式请求参数解析的解释

javascript - AJAX 条件内附加

javascript - jQuery点击事件: Need two clicks

c - 如何使用回调修改 GtkWidget 数组的元素

javascript - 从回调返回一个值或在node.js 中的特定回调之外访问它?

javascript - 检查所有子复选框

javascript - 为什么javascript中的replace()会发生这种情况

javascript - 带水线的 Sailsjs 地理空间解决方案

jquery - 如何禁用所有提交按钮然后重新启用特定按钮?

Javascript什么时候回调会被调用,会吗?