【问题标题】:What other types are there for the jQuery promise object?jQuery Promise 对象还有哪些其他类型?
【发布时间】:2013-04-26 18:04:17
【问题描述】:

我最近一直在阅读有关返回 Promise 对象的 promise([type] [,target]) 函数。

documentation 声明默认的typefx

默认情况下,type 为“fx”,这意味着当被选元素的所有动画都完成后,返回的 Promise 被解析。

由于某种原因,我很难找到其他可用的类型。我认为其他类型可能是例如ajax 在使用 load() 或类似方法将内容加载到集合中时得到解决(请注意,我知道如何处理 load() 承诺,我只是举个例子)。

是否有一个列表指定所有可用类型?我正在考虑使用looking at the source code 来找出答案,但我希望在某个地方有一个列表,除非fx 是唯一可以与此函数一起使用的合理类型。

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    文档中提到了type 参数:

    需要观察的队列类型。

    默认情况下,所有动画函数都添加到fx 队列中。但是使用.queue,您可以将函数“附加”到选定的元素,这些元素会按照您选择的队列(可以定义)运行。

    因此,一旦调用了指定队列中的所有函数,promise 就会得到解决。虽然我还没有在实践中看到这一点。

    例子:

    $('div').queue('foo', [function(next) {
        setTimeout(next, 2000); // some delay
    }, function(next) {
        console.log('Last function in queue');
        next();
    }]).dequeue('foo');
    
    $('div').promise('foo').done(function() {
        console.log('all done');
    });
    

    DEMO

    【讨论】:

    • 这是否意味着没有任何其他“内置”队列类型?我想只有动画才能真正以这种方式排队。
    • 是的,AFAIK fx 是唯一的内置队列。
    • 太棒了,很有帮助。不过,在接受您的回答之前,我会稍等片刻,也许其他人遇到过其他示例。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2012-12-26
    • 2011-06-02
    • 1970-01-01
    • 2017-05-22
    • 2010-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多