面试遇到的ajax请求串行和并行问题
2016-12-16 10:03
190 查看
昨天面试的时候看到的一个题
1.有三个ajax请求,如何让这三个ajax请求串行执行,即第一个执行完成后在执行另一个?
我回答的是判断上一个请求返回结果,执行完成之后在执行下一个,对吗?
2.如何让他们并行执行,然后三个请求都执行完成后,再执行某个操作?
我觉得写三个$.ajax不就是并发执行了吗,然后遍历看是否都返回结果了,如果都返回结果了,再进行继续的操作,这么想对吗?
意义是什么呢?
经过csdn的大神的解答明白了,其实考察的就是同步和异步。
1.有三个ajax请求,如何让这三个ajax请求串行执行,即第一个执行完成后在执行另一个?
我回答的是判断上一个请求返回结果,执行完成之后在执行下一个,对吗?
2.如何让他们并行执行,然后三个请求都执行完成后,再执行某个操作?
我觉得写三个$.ajax不就是并发执行了吗,然后遍历看是否都返回结果了,如果都返回结果了,再进行继续的操作,这么想对吗?
意义是什么呢?
经过csdn的大神的解答明白了,其实考察的就是同步和异步。
//串行执行分两种。 //一是用同步模式async: false,三个ajax请求连着写就可以了。 $.ajax({ url: "ajax请求1", async: false, success: function (data) { console.log("ajax请求1 完成"); } }); $.ajax({ url: "ajax请求2", async: false, success: function (data) { console.log("ajax请求2 完成"); } }); $.ajax({ url: "ajax请求3", async: false, success: function (data) { console.log("ajax请求2 完成"); } }); //二是用异步模式async: true,三个ajax请求嵌套写。 $.ajax({ url: "ajax请求1", async: true, success: function (data) { console.log("ajax请求1 完成"); $.ajax({ url: "ajax请求2", async: true, success: function (data) { console.log("ajax请求2 完成"); $.ajax({ url: "ajax请求3", async: true, success: function (data) { console.log("ajax请求3 完成"); } }); } }); } }); //并行执行就只能用异步模式。并设置变量进行计数 var num = 0; function isAllSuccess() { num++; if (num>=3) console.log("三个ajax请求全部完成"); } $.ajax({ url: "ajax请求1", async: true, success: function (data) { console.log("ajax请求1 完成"); isAllSuccess(); } }); $.ajax({ url: "ajax请求2", async: true, success: function (data) { console.log("ajax请求3 完成"); isAllSuccess(); } }); $.ajax({ url: "ajax请求3", async: true, success: function (data) { console.log("ajax请求3 完成"); isAllSuccess(); } });
相关文章推荐
- ajax请求串行和并行的问题
- 遇到的问题---jsp的ajax请求相同页面,服务端更新后浏览器仍然显示第一次的内容
- 写html5 遇到的ajax请求跨域问题,访问本地数据库问题
- ajax请求中遇到的中文字符编码问题
- ajax请求中遇到的跨域问题的解决办法(jsonp)
- Ajax请求Json遇到的问题总结
- ajax请求时遇到的问题
- ajax请求webservice的过程中遇到的问题总结
- Web Service (014---webservice使用Jquery、Ajax请求WebService所遇到的跨域问题)
- ssh中jquery发送ajax请求遇到的问题
- 关于分页插件pagination的应用及遇到的问题(用ajax请求数据进行拼接后分页显示)
- zTree3.5使用ajax请求返回json数据时遇到的问题
- 遇到的问题---jsp的ajax请求相同页面,服务端更新后浏览器仍然显示第一次的内容
- jquery的ajax请求时遇到的ie缓存问题
- 面试里经常遇到的一个关于StringBuffer和final的问题
- 面试的时候遇到的问题:二叉树
- IE7中使用AJAX遇到的一个问题
- Sys.webforms.PageRequestManagerParserErrorExcept(ajax刷新用response或transfer跳转遇到的问题解决办法)
- ajax打印对象时,转换由java对象转为Json格式的String时遇到的Hibernate问题
- 使用session时候,遇到的一个问题(请求解决方法)