javascript - 执行 ajax 调用时从 jquery for 循环中断返回错误

标签 javascript jquery

看看下面的代码。问题很简单,如果方法 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');
});


}   

最佳答案

是的,jQuery.ajax 是异步的,因此您需要使用类似以下内容的内容:

function findUserInfos(datas){
  var userID=datas.shift(); //remove and return the first element

  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!');
    findUserInfos(datas)
  });

  req.error(function(msg) {
    console.log('Error');
  });
}   

findUserInfos(d);

一旦出现错误,它就会崩溃,因为我们只在成功中继续。

关于javascript - 执行 ajax 调用时从 jquery for 循环中断返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10233374/

相关文章:

JQuery 工具选项卡与 JQuery UI 冲突

javascript - 在 jQuery 选项卡中加载 Google map

javascript - 如何使用 JavaScript 将按钮的 onclick 更改为另一个函数?

javascript - HTML5 Canvas 始终有滚动条

javascript - 如何在 netbeans jsp 应用程序中设置浏览器兼容性

javascript - sweetalert2 textarea 换行确认模态

javascript - JavaScript 中匿名函数之间的通信

javascript - 遍历 JSON 对象

javascript - jQuery Vallenato Accordion

javascript - 在哪里添加需要 jQuery 文件的 JavaScript 代码?