gpt4 book ai didi

javascript - $.when() : how to use it?

转载 作者:行者123 更新时间:2023-11-30 07:25:38 28 4
gpt4 key购买 nike

我有这样的东西:

fun1: function (){
var jqXHR = $.get(
"http://url.com",
"search=toto",
function(){});

jqXHR.fail(function (jqXHR, textStatus, errorThrown){
//do something
});

jqXHR.done(function (data,textStatus,jqXHR){
//do something
});
}

fun2: function (){
fun1();
//do something AFTER my AJAX requests are finished
}

我想等待 AJAX 请求完成后再继续。为此,我通常会在 fun1() 中使用回调函数。但是我的代码现在包含了好几级的回调,看起来很乱。然后,我想使用 $.when 方法,但我不知道该怎么做:因为 fun1 不是延迟对象,我可以只是写:

$.when(fun1()).then(//do something);

最佳答案

$.when 在您等待多个 promise 时最有用。根据您的情况,您似乎不需要它。

在这里你只需要从函数返回jqXHR对象:

fun1: function (foo){
// ...
return jqXHR;
}

fun2: function() {
fun1().then(function() {
// ...
});
}

$.get返回的对象实现了promise接口(interface),所以你可以直接给它附加回调。该文档还提供了几个示例:http://api.jquery.com/jQuery.get/ .

关于javascript - $.when() : how to use it?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16986166/

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