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 相关文章推荐
js通过googleAIP翻译PHP系统的语言配置的实现代码
Oct 17 Javascript
在js文件中如何获取basePath处理js路径问题
Jul 10 Javascript
Javascript 绘制 sin 曲线过程附图
Aug 21 Javascript
jQuery回调函数的定义及用法实例
Dec 23 Javascript
jQuery实现Tab菜单滚动切换的方法
Sep 21 Javascript
JavaScript仿flash遮罩动画效果
Jun 15 Javascript
Vue.js实现多条件筛选、搜索、排序及分页的表格功能
Nov 24 Javascript
jQuery用户头像裁剪插件cropbox.js使用详解
Jun 07 jQuery
详解基于Koa2开发微信二维码扫码支付相关流程
May 16 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧滑动,右侧不动)
Jan 23 Javascript
vue配置文件实现代理v2版本的方法
Jun 21 Javascript
在Vue项目中用fullcalendar制作日程表的示例代码
Aug 04 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 日期加减的类,很不错
2009/10/10 PHP
PHP编程基本语法快速入门手册
2016/01/07 PHP
[原创]PHP字符串中插入子字符串方法总结
2016/05/06 PHP
Yii2框架实现利用mpdf创建pdf文件功能示例
2019/02/08 PHP
html向js方法传递参数具体实现
2013/08/08 Javascript
客户端js判断文件类型和文件大小即限制上传大小
2013/11/20 Javascript
理解JavaScript中worker事件api
2015/12/25 Javascript
详解Bootstrap glyphicons字体图标
2016/01/04 Javascript
10个经典的网页鼠标特效代码
2018/01/09 Javascript
微信小程序实现手势图案锁屏功能
2018/01/30 Javascript
JS解析后台返回的JSON格式数据实例
2018/08/06 Javascript
详解JavaScript中的Object.is()与"==="运算符总结
2020/06/17 Javascript
如何利用nodejs实现命令行游戏
2020/11/24 NodeJs
vue 递归组件的简单使用示例
2021/01/14 Vue.js
使用graphics.py实现2048小游戏
2015/03/10 Python
python生成IP段的方法
2015/07/07 Python
Python设计模式之策略模式实例详解
2019/01/21 Python
python实现烟花小程序
2019/01/30 Python
django 捕获异常和日志系统过程详解
2019/07/18 Python
python多线程并发及测试框架案例
2019/10/15 Python
Python 余弦相似度与皮尔逊相关系数 计算实例
2019/12/23 Python
Python:type、object、class与内置类型实例
2019/12/25 Python
python3用urllib抓取贴吧邮箱和QQ实例
2020/03/10 Python
CSS3对背景图片的裁剪及尺寸和位置的设定方法
2016/03/07 HTML / CSS
html5/css3响应式页面开发总结
2018/10/16 HTML / CSS
女性时尚网购:Chic Me
2019/07/30 全球购物
大唐面试试题(CPU,UNIX等等)
2012/01/11 面试题
园林毕业生自我鉴定范文
2013/12/29 职场文书
问卷调查计划书
2014/01/10 职场文书
公司培训欢迎词
2014/01/10 职场文书
学校领导班子对照检查材料
2014/09/24 职场文书
个人政风行风自查自纠报告
2014/10/21 职场文书
2015年社区民政工作总结
2015/04/21 职场文书
请客吃饭开场白
2015/06/01 职场文书
python机器学习Github已达8.9Kstars模型解释器LIME
2021/11/23 Python
PostgreSQL自动更新时间戳实例代码
2021/11/27 PostgreSQL