function GetData (url) {
// var myUrl = "http://c.m.163.com/nc/article/list/T1350383429665/0-20.html";
var myUrl = url;
var WYresult = null;
var url = 'http://localhost:3000/?myUrl=' + myUrl;
$.ajax({
url:url,
type:'get',
dataType:'json',
async: true,
success:function (result) {
// console.log(JSON.parse(result));
WYresult = JSON.parse(result);
},
error:function () {
}
});
var WYObject = WYresult;
return WYObject;
}
我想在外部调用这个构造函数的时候返回的就是JSON解析过的对象,但是只有当async为false时才行,但是当有多个请求时浏览器就会出现锁死状态,怎么解决?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
因为这涉及远程数据获取,不是实时的,所以必然有延迟。async表示请求同步方式,为true表示需要获取数据后才执行后续的程序,否则为非同步进程(浏览器继续处理后续动作)。
对于需要处理的就是需要采用非同步获取,这样才不阻塞浏览器进程(阻塞时浏览器呈现死锁态),通过回调执行后续处理。
调整为异步执行 执行代码写到ajax成功执行的括号中