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 相关文章推荐
Javascript 键盘事件的组合使用实现代码
May 04 Javascript
jquery及原生js获取select下拉框选中的值示例
Oct 25 Javascript
基于BootStarp的Dailog
Apr 28 Javascript
详解jQuery简单的表格应用
Dec 16 Javascript
前端框架学习总结之Angular、React与Vue的比较详解
Mar 14 Javascript
Ionic2调用本地SQlite实例
Apr 22 Javascript
简单实现jQuery弹幕效果
May 06 jQuery
实现微信小程序的wxml文件和wxss文件在webstrom的支持
Jun 12 Javascript
angular指令笔记ng-options的使用方法
Sep 18 Javascript
使用ionic(选项卡栏tab) icon(图标) ionic上拉菜单(ActionSheet) 实现通讯录界面切换实例代码
Oct 20 Javascript
bootstrap-paginator服务器端分页使用方法详解
Feb 13 Javascript
JSONP 的原理、理解 与 实例分析
May 16 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自定义函数返回多个值
2006/11/26 PHP
PHP5.2中date()函数显示时间与北京时间相差8小时的解决办法
2009/05/28 PHP
YII中Ueditor富文本编辑器文件和图片上传的配置图文教程
2017/03/15 PHP
TP5框架页面跳转样式操作示例
2020/04/05 PHP
PHP设计模式(四)原型模式Prototype实例详解【创建型】
2020/05/02 PHP
Jquery 设置标题的自动翻转
2009/10/03 Javascript
jQuery EasyUI API 中文文档 - Draggable 可拖拽
2011/09/29 Javascript
JSON序列化与解析原生JS方法且IE6和chrome测试通过
2013/09/05 Javascript
js动态设置div的值下例子
2013/10/29 Javascript
Jquery注册事件实现方法
2015/05/18 Javascript
jquery判断密码强度的验证代码
2020/04/22 Javascript
JavaScript学习笔记之数组随机排序
2016/03/23 Javascript
基于javascript实现样式清新图片轮播特效
2016/03/30 Javascript
Node.js中.pfx后缀文件的处理方法
2017/03/10 Javascript
教你快速搭建Node.Js服务器的方法教程
2017/03/30 Javascript
详解vue项目构建与实战
2017/06/27 Javascript
BootStrap Fileinput上传插件使用实例代码
2017/07/28 Javascript
基于vue的换肤功能的示例代码
2017/10/10 Javascript
axios 处理 302 状态码的解决方法
2018/04/10 Javascript
vue+element的表格实现批量删除功能示例代码
2018/08/17 Javascript
微信小程序canvas动态时钟
2020/10/22 Javascript
[38:42]完美世界DOTA2联赛循环赛 Matador vs Forest BO2第二场 11.05
2020/11/05 DOTA
python使用筛选法计算小于给定数字的所有素数
2018/03/19 Python
python中的列表与元组的使用
2019/08/08 Python
python内存管理机制原理详解
2019/08/12 Python
Puccini乌克兰:购买行李箱、女士手袋网上商店
2020/08/06 全球购物
局域网标准
2016/09/10 面试题
linux面试题参考答案(9)
2015/01/07 面试题
校园自助餐厅的创业计划书
2013/12/26 职场文书
年终晚会主持词
2014/03/25 职场文书
教师演讲稿开场白
2014/08/25 职场文书
教师批评与自我批评材料
2014/10/16 职场文书
红与黑读书笔记
2015/06/29 职场文书
运动会开幕式新闻稿
2015/07/17 职场文书
《鸟的天堂》教学反思
2016/02/19 职场文书
SQL Server数据库查询出现阻塞之性能调优
2022/04/10 SQL Server