gpt4 book ai didi

asp.net - Javascript DoEvents 等效吗?

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

这是我缩短的代码片段:

$(document).ready(function() {
$.get("/Handlers/SearchData.ashx",
function(data) {
json = $.evalJSON(data);
});

//do some other stuff

//use json data

alert(json == null);

});

警报说 true,因为 evalJson 尚未完成 JSON 数据的处理(压缩后的 21kb)。在使用该数据之前,我需要以某种方式等待它完成 - 这正是我在 while 循环中对 DoEvents 所做的事情。

最佳答案

没有与 DoEvents 等效的函数,但您可以将依赖于 JSON 数据的代码放入函数中并从 AJAX 回调中调用它。您还可以使用 $.getJSON 方法,这样您就不必自己评估 JSON。

$(document).ready(function() {
$.getJSON("/Handlers/SearchData.ashx",
function(data) {
json = data;
stuffToDoAfterIHaveData();
});

//do some other stuff
});

//use json data
function stuffToDoAfterIHaveData() {
alert(json == null);
}

或者,jQuery 提供了一种使 AJAX 请求同步的方法(即它们暂停代码执行,直到响应返回)。您可以使用 $.ajaxSetup({ async: false }); 或者直接调用 $.ajax 方法并传递 async:false在选项对象中。

关于asp.net - Javascript DoEvents 等效吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1138066/

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