js中同步与异步处理的方法和区别总结


Posted in Javascript onDecember 25, 2013

在使用异步请求时,有时需要将异步请求的结果返回给另一个js函数,此种情况下会出现未等异步请求返回请求结果,该发送请求所在js函数已经执行完后续操作,即已经执行return ,这样会导致return的结果为空字符。

总结:若要在使用ajax请求后处理发送请求返回的结果,最好使用同步请求。

例如:以下例子会出现返回结果不正确的情况,因为ajax异步请求还未执行完,函数已经执行return了,

function fn(){ var result = " "; 
$.ajax({ 
url : 'your url', 
data:{name:value}, 
cache : false, 
async : true, 
type : "POST", 
success : function (data){ 
do something.... 
result = .... 
} 
// 对ajax中返回的data进行处理 ,也会出错 
return result ; 
}

1 异步请求方式:
$.ajax({ 
url : 'your url', 
data:{name:value}, 
cache : false, 
async : true, 
type : "POST", 
dataType : 'json/xml/html', 
success : function (result){ 
do something.... 
} 
});

2 同步请求方式
$.ajax({ 
url : 'your url', 
data:{name:value}, 
cache : false, 
async : false, 
type : "POST", 
dataType : 'json/xml/html', 
success : function (result){ 
do something.... 
} 
});
Javascript 相关文章推荐
Prototype PeriodicalExecuter对象 学习
Jul 19 Javascript
javascript当onmousedown、onmouseup、onclick同时应用于同一个标签节点Element
Jan 05 Javascript
原生js实现改变随意改变div属性style的名称和值的结果
Sep 26 Javascript
浏览器兼容console对象的简要解决方案分享
Oct 24 Javascript
Extjs根据条件设置表格某行背景色示例
Jul 23 Javascript
用js代码和插件实现wordpress雪花飘落效果的四种方法
Dec 15 Javascript
jQuery老黄历完整实现方法
Jan 16 Javascript
Node.js 日志处理模块log4js
Aug 28 Javascript
让你5分钟掌握9个JavaScript小技巧
Jun 09 Javascript
利用js将ajax获取到的后台数据动态加载至网页中的方法
Aug 08 Javascript
Vue axios设置访问基础路径方法
Sep 19 Javascript
微信小程序实现的3d轮播图效果示例【基于swiper组件】
Dec 11 Javascript
在javascript中实现函数数组的方法
Dec 25 #Javascript
js 时间格式与时间戳的相互转换示例代码
Dec 25 #Javascript
js中for in的用法示例解析
Dec 25 #Javascript
在javascript中执行任意html代码的方法示例解读
Dec 25 #Javascript
jquery easyui combox一些实用的小方法
Dec 25 #Javascript
关闭浏览器时提示onbeforeunload事件
Dec 25 #Javascript
从QQ网站中提取的纯JS省市区三级联动菜单
Dec 25 #Javascript
You might like
php 比较获取两个数组相同和不同元素的例子(交集和差集)
2019/10/18 PHP
JavaScript中的this关键字介绍与使用实例
2013/06/21 Javascript
为什么Node.js会这么火呢?Node.js流行的原因
2014/12/01 Javascript
js实现屏幕自适应局部代码分享
2015/01/30 Javascript
javascript 使用for循环时该注意的问题-附问题总结
2015/08/19 Javascript
Angular组件化管理实现方法分析
2017/03/17 Javascript
JS+CSS实现下拉刷新/上拉加载插件
2017/03/31 Javascript
详解angularJs模块ui-router之状态嵌套和视图嵌套
2017/04/28 Javascript
vue 打包后的文件部署到express服务器上的方法
2017/08/09 Javascript
JavaScript实现动态添加Form表单元素的方法示例
2017/08/14 Javascript
Vue-CLI3.x 设置反向代理的方法
2018/12/06 Javascript
jQuery子选择器与可见性选择器实例分析
2019/06/28 jQuery
[50:01]Ti4 冒泡赛第二天 NEWBEE vs Titan
2014/07/15 DOTA
Python实现的一个找零钱的小程序代码分享
2014/08/25 Python
Python Paramiko模块的使用实际案例
2018/02/01 Python
Python基于辗转相除法求解最大公约数的方法示例
2018/04/04 Python
使用Python更换外网IP的方法
2018/07/09 Python
python print出共轭复数的方法详解
2019/06/25 Python
Python变量、数据类型、数据类型转换相关函数用法实例详解
2020/01/09 Python
浅谈Python3实现两个矩形的交并比(IoU)
2020/01/18 Python
最简单的matplotlib安装教程(小白)
2020/07/28 Python
全球最大的中文旅行网站:去哪儿网
2017/11/16 全球购物
英国蜡烛、蜡烛配件和家居香氛购买网站:Yankee Candle
2018/12/12 全球购物
俄罗斯披萨、寿司和面食送货到家服务:2 Берега
2019/12/15 全球购物
房地产活动策划方案
2014/05/14 职场文书
党员教师群众路线思想汇报范文
2014/10/28 职场文书
工作试用期自我评价
2015/03/10 职场文书
2015年感恩父亲节演讲稿
2015/03/19 职场文书
党小组鉴定意见
2015/06/02 职场文书
银行中层干部培训心得体会
2016/01/11 职场文书
会计手工模拟做账心得体会
2016/01/22 职场文书
2019各种保证书范文
2019/06/24 职场文书
2019年汽车租赁合同范本!
2019/08/12 职场文书
演讲稿之我的初心我的成长
2019/08/12 职场文书
Django给表单添加honeypot验证增加安全性
2021/05/06 Python
pycharm代码删除恢复的方法
2021/06/26 Python