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 两个字符串时间的天数差计算
Aug 25 Javascript
nw.js实现类似微信的聊天软件
Mar 16 Javascript
js实现图片淡入淡出切换简易效果
Aug 22 Javascript
浅析Ajax语法
Dec 05 Javascript
解决微信内置浏览器返回上一页强制刷新问题方法
Feb 05 Javascript
浅谈es6语法 (Proxy和Reflect的对比)
Oct 24 Javascript
微信小程序列表渲染功能之列表下拉刷新及上拉加载的实现方法分析
Nov 27 Javascript
jQuery+SpringMVC中的复选框选择与传值实例
Jan 08 jQuery
详解如何用VUE写一个多用模态框组件模版
Sep 27 Javascript
json字符串对象转换代码实例
Sep 28 Javascript
解决Vue的文本编辑器 vue-quill-editor 小图标样式排布错乱问题
Aug 03 Javascript
详解如何使用React Hooks请求数据并渲染
Oct 18 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安全之直接用$获取值而不$_GET 字符转义
2012/06/03 PHP
PHP生成迅雷、快车、旋风等软件的下载链接代码实例
2014/05/12 PHP
PHP pear安装配置教程
2016/05/14 PHP
PHP异步进程助手async-helper
2018/02/05 PHP
laravel-admin 实现给grid的列添加行数序号的方法
2019/10/08 PHP
javascript打开新窗口同时关闭旧窗口
2009/01/16 Javascript
jquery实现奇偶行赋值不同css值
2012/02/17 Javascript
用js的for循环获取radio选中的值
2013/10/21 Javascript
jQuery+css实现百度百科的页面导航效果
2014/12/16 Javascript
jQuery siblings()用法实例详解
2016/04/26 Javascript
JavaScript中push(),join() 函数 实例详解
2016/09/06 Javascript
jQuery实现根据生日计算年龄 星座 生肖
2016/11/23 Javascript
Vue中img的src属性绑定与static文件夹实例
2017/05/18 Javascript
微信小程序tabBar底部导航中文注解api详解
2017/08/16 Javascript
webpack3+React 的配置全解
2017/08/21 Javascript
node实现生成带参数的小程序二维码并保存到本地功能示例
2018/12/05 Javascript
详解Vue3.0 前的 TypeScript 最佳入门实践
2019/06/18 Javascript
基于Vue的商品主图放大镜方案详解
2019/09/19 Javascript
原生js拖拽功能制作滑动条实例代码
2021/02/05 Javascript
Python的函数嵌套的使用方法
2014/01/24 Python
Python随机生成带特殊字符的密码
2016/03/02 Python
Python爬取附近餐馆信息代码示例
2017/12/09 Python
python打印文件的前几行或最后几行教程
2020/02/13 Python
在Django中自定义filter并在template中的使用详解
2020/05/19 Python
浅谈Keras参数 input_shape、input_dim和input_length用法
2020/06/29 Python
python进行二次方程式计算的实例讲解
2020/12/06 Python
canvas三角函数模拟水波效果的示例代码
2018/07/03 HTML / CSS
手把手教你实现一个canvas智绘画板的方法
2019/03/04 HTML / CSS
城市观光通行证:The Sightseeing Pass
2018/04/28 全球购物
Feelunique德国官方网站:欧洲最大的在线美容零售商
2019/07/20 全球购物
如何利用find命令查找文件
2016/11/18 面试题
二手书店创业计划书
2014/01/16 职场文书
工程专业应届生求职信
2014/02/19 职场文书
初中英语教师个人工作总结
2015/02/09 职场文书
企业安全生产规章制度
2015/08/06 职场文书
MySQL常见优化方案汇总
2022/01/18 MySQL