先看一个场景

var arr = ["a","b","c"];
for (var i in arr) {
$.get("h.html", function (data) {//1
console.log(data);
console.log(arr[i]);
console.log("----");
});
}
我们期望的是

然而实际上是

如何达到实际目的呢?先给出解决方法,再慢慢解释

使用闭包,或者简单说,使用函数,根据作用域,控制好返回回调函数中数据的值

var arr = ["a","b","c"];
var b = 1000000000;
for (var i in arr) {
get(arr[i]);//使用闭包,使得每次请求返回某些想要的数据
}
function get(retur) {
$.get("h.html", function (data) {//2
console.log("func:"+data);
console.log("func:"+retur);
console.log("func:----");
});
}
下面是详细解释
首先清楚一点,异步请求理论上是在正常的js代码执行完毕之后才发送,所以不难理解为什么上述一直返回的是c,因为代码都循环结束了,才一起发送的请求
然后我简单的画了两张图,便于理解

转载于:https://www.cnblogs.com/furoro/p/6491728.html

js:如何在循环异步请求的每次返回中添加想要的值相关推荐

  1. php异步请求$.post,如何用PHP实现异步请求、忽略返回值

    本篇文章的主要内容是用PHP实现异步请求.忽略返回值,具有一定的参考价值,有需要的朋友可以看看,希望能对你有帮助. 项目需要,场景如下: 某个条件下需要调用接口发送多个请求执行脚本,但是由于每个请求下 ...

  2. js给数组添加数据的方式/js 向数组对象中添加属性和属性值

    参考:https://www.cnblogs.com/ayaa/p/14732349.html js给数组添加数据的方式有以下几种: 直接利用数组下标赋值来增加(数组的下标起始值是0) 例,先存在一个 ...

  3. springMVC获取异步请求的参数,返回异步请求数据(json),跨域访问简单了解,文件上传,与Restful风格

    springMVC获取异步请求的参数 JQuery发送异步请求回顾 <a href="javascript:void(0);" id="testAjax" ...

  4. 多次异步请求,结果返回顺序的问题

    搜索框进行搜索的时候,可能会先请求的数据在页面上覆盖掉后请求的数据,这就导致检索内容与当前检索关键字不一致 例如:发送3次请求,有可能第3条请求最先发送,第1条请求最晚发送.而返回时间却是反过来的:第 ...

  5. html中的异步请求数据格式,解决layui中table异步数据请求不支持自定义返回数据格式的问题...

    使用版本 layui-v2.3.0 修改: 打开layui中table.js源码 在 Class.prototype.pullData 这个方法定义内部 //获得数据 Class.prototype. ...

  6. html弹窗赋值给查询框,bootstrap模态框动态赋值, ajax异步请求数据后给id为queryInfo的模态框赋值并弹出模态框(JS)...

    /查询单个 function query(id) { $.ajax({ url : "/small/productServlet", async : true, type : &q ...

  7. ajax ashx调试,asp.net——Ajax与ashx异步请求的简单案例

    Ajax与ashx异步请求的简单案例: 前台页面(aspx): function gettext() { var intxt = $("#intxt").val(); $.ajax ...

  8. 前端异步请求中后发先到的解决方案

    通用的组件请求管理器,解决异步请求中的后发先到的问题 测试方法:可以使用fiddler进行测试,选择fiddler rules菜单中的automatic breakpoints中的afterRespo ...

  9. httpservletrequest 设置请求头_大部分程序员不知道的 Servelt3 异步请求,原来这么简单?

    前言 当一个 HTTP 请求到达 Tomcat,Tomcat 将会从线程池中取出线程,然后按照如下流程处理请求: 将请求信息解析为 HttpServletRequest 分发到具体 Servlet 处 ...

最新文章

  1. Warning: Skipping the data of table mysql.event. Specify the --events option explicitly.
  2. 为什么我不建议你买保险?
  3. 有意思的小学数学竞赛题-2
  4. BZOJ 2460: [BeiJing2011]元素 线性基
  5. 学计算机修图,宅家修图很简单 手机电脑都可以修出大片的感觉
  6. android mimetype类型,如何确定android中的MIME类型?
  7. python- 属性 静态方法,类方法
  8. HDU2022 海选女主角【入门】
  9. 仅需6道题轻松掌握SciPy空间计算基础 | Python技能树征题
  10. 如何用python处理图片_用Python简单处理图片
  11. 激活windows系统,你知道吗
  12. 去掉WPS智能生成目录中的空白行
  13. 怎么样设计好看的logo?教你6步学会logo设计
  14. C语言如何实现寻找峰值函数,findpeaks 寻找峰值函数
  15. (Math)矩阵求导
  16. [玩转UE4/UE5动画系统>Control Rig篇] 之 Control Rig + Fullbody IK版的足部IK实现(附项目代码)
  17. 上汽董事长称不接受与华为合作自动驾驶;曝OPPO给离职员工补发年终奖,此前遭克扣;Google Play 将启用AAB格式应用...
  18. 读书笔记--青年文摘摘抄
  19. es倒排索引和mysql索引的_【漫画】ES原理 必知必会的倒排索引和分词
  20. [CODEVS1537] 血色先锋队 - BFS

热门文章

  1. TFS发布计划发送到钉钉消息群
  2. HTML(WEB)开发day01
  3. 软件工程-GoldPoint游戏
  4. 技巧:Vim 的纵向编辑模式
  5. Android平台利用OpenCL框架实现并行开发初试
  6. 我所犯的JavaScript引用错误
  7. 解决“由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题”(转贴)...
  8. CSP:CSP认证考试:202104-1(灰度直方图)满分答案,Java版
  9. 数据挖掘原理与算法:练习题1
  10. mysql百万数据写入_mysql 百万级数据查找,并写入txt文件