gpt4 book ai didi

javascript - 同步 AJAX(违背 promise )

转载 作者:行者123 更新时间:2023-11-28 18:38:01 27 4
gpt4 key购买 nike

我试图让 JavaScript 进入同步行为,但到目前为止我失败了。

我已经尝试了 30 种或更多不同的方法,这是基于另一个答案的最新尝试,此处为 StackOverflow :

function fnc () {
$.ajax({
type: 'GET',
url: "libraries/resources/data.json",
dataType: 'json',
success: function (data) {
...
objSomething = {
...
};
},
error: function () {}
});
}
fnc().then(function(objSomething) {
google.maps.event.addDomListener(window, 'load', function(){ initialize(objSomething); });
}).catch(function(objSomething) {
...
});

但是,我收到错误:

TypeError: undefined is not an object (evaluating 'fnc().then')

我尝试过的大多数方法都会导致类似的错误。

至于 Google map 代码,它确实可以工作(尽管并非总是如此,因为代码执行的异步性质)。

值得注意的是,虽然我能够从头开始编写复杂的代码,但当涉及到底层机制时,我并不是那么精通。

我通过 Google API CDN 使用 jQuery 2.2.2。

最佳答案

这是您正在寻找的解决方案。

   function fnc () {
var dfd = jQuery.Deferred();
$.ajax({
type: 'GET',
url: "libraries/resources/data.json",
dataType: 'json',
success: function (data) {
...
objSomething = {
...
};
dfd.resolve(objSomething);
},
error: function (error) { dfd.reject(error); }
});

return dfd.promise();
}

$.when(fnc()).then(function(objSomething) {
google.maps.event.addDomListener(window, 'load', function(){
initialize(objSomething);
});
}, function(error){
//Handle Error
});

关于javascript - 同步 AJAX(违背 promise ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36648840/

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