gpt4 book ai didi

javascript - 有没有办法暂停脚本直到 javascript 关闭完成? JavaScript、jQuery、AJAX

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

如果我使用闭包来定义某些内容,是否有一种方法可以等待,直到变量被填充,然后再继续下一步。

示例:

var myVari = someFunction();
$.each(myVari, function(){/*code for each*/});

定义 myVari 的函数是一个 AJAX 调用,可能需要一秒或 4 秒(是的,它不快)来定义变量。问题是,在 AJAX 调用产生结果之前,$.each 已经触发并由于 myVari 为空而出错。有没有更好的方法来处理这种情况?

最佳答案

您应该调整您的代码,以便可以将回调传递给 someFunction,该回调将在 AJAX 调用完成时执行。

等待 AJAX 调用完成的唯一方法是将调用更改为同步,但强烈不鼓励这样做,因为它会在 AJAX 调用期间完全锁定浏览器。

因为您已经在使用 jQuery 库,所以这个回调过程变得更加容易。我不会像现在那样返回变量,而是返回 jQuery AJAX 对象 ( which has a promise interface as of 1.6 ),这样您就可以轻松地向其添加回调:

function someFunction () {
return jQuery.ajax('some/url.php', {
// whatever
});
}

var myVari = someFunction();
myVari.done(function (data) {
$.each(data, function(){/*code for each*/});
});

关于javascript - 有没有办法暂停脚本直到 javascript 关闭完成? JavaScript、jQuery、AJAX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7710287/

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