gpt4 book ai didi

javascript - 找出两个 JSON 请求何时完成

转载 作者:行者123 更新时间:2023-11-30 10:45:01 26 4
gpt4 key购买 nike

我目前有以下代码:

function render(url1, url2, message) {
utility.messageBoxOpen(message);

$.getJSON(url1, function (items) {
// Do something

utility.messageBoxClose();
});

$.getJSON(url2, function (items) {
// Do something
});
}

当函数执行时,会出现一个模态窗口,通知用户正在加载某些内容。最初我只有一个 $getJSON 请求,所以当请求完成时,模式窗口按照上面的代码关闭。

我想添加另一个 $getJSON 请求,但只想在两个 $getJSON 请求都完成后才关闭模态窗口。

实现此目标的最佳方法是什么?

最佳答案

您正在寻找 $.when()

所有 jQuery ajax 请求(包括像 getJSON 这样的快捷方式)返回可用于控制其他操作的延迟对象。

var dfd1 = $.getJSON(url1, function (items) {
// Do something
});

var dfd1 = $.getJSON(url2, function (items) {
// Do something
});

$.when(dfd1, dfd2).then(function(){
//both succeeded
utility.messageBoxClose();
},function(){
//one or more of them failed
});

如果您不关心 getJSON 是否成功返回,而只关心它们是否完成,您可以:

$.when(dfd1, dfd2).done( utility.messageBoxClose );

关于javascript - 找出两个 JSON 请求何时完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8903319/

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