gpt4 book ai didi

jQuery $.when 似乎没有返回结果列表

转载 作者:行者123 更新时间:2023-12-01 02:58:23 24 4
gpt4 key购买 nike

根据the jQuery docs for $.when ,它将返回一个新的延迟对象(实际上是一个 promise ),如果所有延迟对象(传递给 $.when)都正确解析,则该延迟对象将使用传递的延迟对象的结果列表进行解析。

因此,您会期望 $.when($.Deferred().resolve(1), $.Deferred().resolve(2)) 返回一个将通过列表解析的 deferred [1, 2]。但事实似乎并非如此。 Here's a jsfiddle其中整个 $.when 结果是第一个 deferred 赋予 $.when 的结果。

我想我一定是误解了或者做错了什么,但我看不出是什么。感谢您的帮助!

最佳答案

使用 $.when 时传递给完成处理程序的参数与 $.when 完全相同,您传递的每个 Promise/Deferred 对象都会获得一个参数英寸。

http://jsfiddle.net/Dx3Jd/4/

$(function () {
make = function (x) {
return $.Deferred().resolve(x);
};

$.when(make(15), make(16), make(17)).done(
function (result1, result2, result3) {
$('#hey').text(result1 + "-" + result2 + "-" + result3); // "15-16-17"
}
);
});

如果将 3 个参数传递给 $.when,则生成的 Promise 对象的 .done 方法将接收 3 个参数。

关于jQuery $.when 似乎没有返回结果列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15206096/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com