这是进行串行异步调用的更好方法吗?
http://ajaxian.com/archives/serial-async-xhr
function run() {
request1(function () {
request2(function () {
request3(function () {
done();
});
});
});
}
这会导致回调地狱问题吗?
答案 0 :(得分:0)
这是不防弹,只是为了给你一个例子。
function ajax(url, callback) {
var req = new XMLHttpRequest();
req.open("GET", url, true);
req.onreadystatechange = function () {
if (this.readyState == 4 && this.status == 200) {
if(callback)
{
callback(this.responseText);
}
}
};
req.send();
}
作为包装器,所以你最终会做类似
的事情function loadIndex()
{
ajax('/', function(data){
alert(data);
loadIndexAgain();
});
}
function loadIndexAgain()
{
ajax('/', function(data){
alert('more stuff happened');
});
}
loadIndex();
你的陈述将被链接。