我有一个 ajax 调用,比如回调 (b),在另一个 ajax 调用的回调中,比如回调 (a)。在我的代码(b)中取决于ajax调用(a)的成功。但是,与我的预期相反,ajax 调用 (b) 仍然在父 ajax 调用 (a) 完成之前成功完成。
Javascript
var ajaxAdata; //global
ajaxA(ajaxB(1));
function ajaxA(callback){
FB.api('/me', function(response) { //ajax call(a)
ajaxAdata = response.id;
callback(); // this completes before ajax call(a) completes
}
}
ajaxB = function(isPublic) {
.getJSON(){ //ajax call (b)
console.log(ajaxAdata); // necessary ajaxAdata returns undefined
}
}
我在这里对javascript一无所知吗?我在很多地方读到回调函数是处理异步调用的正确方法。在这种情况下,javascript 是否仍会提前读入 ajaxB 函数并在 FB.api() 调用完成之前开始执行 .getJSON() ?