看一下下面的代码。问题很简单,如果方法findUserInfo ajax代码返回错误,我该如何中断此for循环。简而言之,我怎么才能在我想要的时候从这个for循环中解脱出来呢?是因为ajax调用是异步的吗?
jQuery.each(d, function() {
findUserInfo(this);
});
function findUserInfo(userID){
var req = $.ajax({
url: "http://twitter.com/users/show.json?suppress_response_codes&id=xx!5@x!!x",
dataType : "jsonp"
});
req.success(function(msg) {
console.log('Yes! Success!');
});
req.error(function(msg) {
console.log('Error');
});
} 发布于 2012-04-20 01:33:24
如何将所有ID存储为数组,将它们传输到服务器,然后检查给定的结果!?这节省了大量的请求。您可以将ID收集为数组,并通过POST ["id1","id2",...].join(",")传输它们
或者你提前获取所有东西,然后在获取之后开始循环...
正如你已经说过的,由于异步的性质,不可能打破循环...async: false;也可以提供帮助,但它会阻止UI更新(这将使浏览器因许多请求而保持忙碌)
https://stackoverflow.com/questions/10233374
复制相似问题