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 相关文章推荐
关于juqery radio写法的兼容性问题(新老版本jquery)
Jun 14 Javascript
让textarea自动调整大小的js代码
Apr 12 Javascript
读jQuery之二(两种扩展)
Jun 11 Javascript
javascript动态添加样式(行内式/嵌入式/外链式等规则)
Jun 24 Javascript
JS去除字符串两端空格的简单实例
Dec 27 Javascript
JavaScript将页面表格导出为Excel的具体实现
Dec 27 Javascript
动态加载js文件简单示例
Apr 21 Javascript
详解浏览器渲染页面过程
Feb 09 Javascript
Bootstrap表单使用方法详解
Feb 17 Javascript
原生js编写2048小游戏
Mar 17 Javascript
在vue项目中使用Nprogress.js进度条的方法
Jan 31 Javascript
js jquery 获取某一元素到浏览器顶端的距离实现方法
Sep 05 jQuery
在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
怎样辨别一杯好咖啡
2021/03/03 新手入门
详解php的socket通信
2015/08/11 PHP
yii用户注册表单验证实例
2015/12/26 PHP
PHP的Yii框架中移除组件所绑定的行为的方法
2016/03/18 PHP
PHP实现的解汉诺塔问题算法示例
2018/08/06 PHP
拖动Html元素集合 Drag and Drop any item
2006/12/22 Javascript
JavaScript 动态将数字金额转化为中文大写金额
2009/05/14 Javascript
JS 添加网页桌面快捷方式的代码详细整理
2012/12/27 Javascript
你必须知道的Javascript知识点之"字面量和对应类型"说明介绍
2013/04/23 Javascript
JavaScript的Backbone.js框架入门学习指引
2016/05/07 Javascript
jQuery动态加载css文件实现方法
2016/06/15 Javascript
vue.js通过自定义指令实现数据拉取更新的实现方法
2016/10/18 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(2)
2017/02/20 Javascript
微信小程序开发入门基础教程
2017/04/19 Javascript
ES6新特性四:变量的解构赋值实例
2017/04/21 Javascript
React key值的作用和使用详解
2018/08/23 Javascript
vue动画打包后失效问题的解决方法
2018/09/18 Javascript
微信小程序数据统计和错误统计的实现方法
2019/06/26 Javascript
微信小程序全选多选效果实现代码解析
2020/01/21 Javascript
基于Element的组件改造的树形选择器(树形下拉框)
2020/02/27 Javascript
JS实现网页端猜数字小游戏
2020/03/06 Javascript
python实现哈希表
2014/02/07 Python
Python中的闭包总结
2014/09/18 Python
Python使用redis pool的一种单例实现方式
2016/04/16 Python
Windows下python3.7安装教程
2018/07/31 Python
Python打包方法Pyinstaller的使用
2018/10/09 Python
pandas中apply和transform方法的性能比较及区别介绍
2018/10/30 Python
浅谈Python大神都是这样处理XML文件的
2019/05/31 Python
keras分类之二分类实例(Cat and dog)
2020/07/09 Python
基于CSS3的animation属性实现微信拍一拍动画效果
2020/06/22 HTML / CSS
HTML5计时器小例子
2013/10/15 HTML / CSS
采用专利算法搜索最廉价的机票:CheapAir
2016/09/10 全球购物
荷兰皇家航空公司中国官网:KLM中国
2017/12/13 全球购物
青春演讲稿范文
2014/05/08 职场文书
绿色环保演讲稿
2014/05/10 职场文书
一篇文章带你了解Python和Java的正则表达式对比
2021/09/15 Python