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 相关文章推荐
asp.net和asp下ACCESS的参数化查询
Jun 11 Javascript
asp.net刷新本页面的六种方法总结
Jan 07 Javascript
javascript针对不确定函数的执行方法
Dec 16 Javascript
jQuery中Find选择器用法示例
Sep 21 Javascript
jquery  实现轮播图详解及实例代码
Oct 12 Javascript
完美解决jQuery 鼠标快速滑过后,会执行多次滑出的问题
Dec 08 Javascript
利用JS实现简单的瀑布流加载图片效果
Apr 22 Javascript
vue.js与后台数据交互的实例讲解
Aug 08 Javascript
监听angularJs列表数据是否渲染完毕的方法示例
Nov 07 Javascript
微信小程序实现时间进度条功能
Nov 17 Javascript
学前端,css与javascript重难点浅析
Jun 11 Javascript
js实现三角形粒子运动
Sep 22 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两个n位的二进制整数相加问题的解决
2018/08/26 PHP
Javascript中的this绑定介绍
2011/09/22 Javascript
解析JavaScript中instanceof对于不同的构造器或许都返回true
2013/12/03 Javascript
jquery向上向下取整适合分页查询
2014/09/06 Javascript
PHP+MySQL+jQuery随意拖动层并即时保存拖动位置实例讲解
2015/10/09 Javascript
每天一篇javascript学习小结(Date对象)
2015/11/13 Javascript
3kb jQuery代码搞定各种树形选择的实现方法
2016/06/10 Javascript
Bootstrap零基础学习第一课之模板
2016/07/18 Javascript
灵活使用数组制作图片切换js实现
2016/07/28 Javascript
ES6入门教程之Class和Module详解
2017/05/17 Javascript
在Js页面通过POST传递参数跳转到新页面详解
2017/08/25 Javascript
JS动态插入脚本和插入引用外部链接脚本的方法
2018/05/21 Javascript
详解vue-cli下ESlint 配置说明
2018/09/03 Javascript
js实现网页同时进行多个倒计时功能
2019/02/25 Javascript
微信小程序生成分享海报方法(附带二维码生成)
2019/03/29 Javascript
使用 vue 实例更好的监听事件及vue实例的方法
2019/04/22 Javascript
Angular如何由模板生成DOM树的方法
2019/12/23 Javascript
js cavans实现静态滚动弹幕
2020/05/21 Javascript
[09:59]DOTA2-DPC中国联赛2月7日Recap集锦
2021/03/11 DOTA
Python 结巴分词实现关键词抽取分析
2017/10/21 Python
创建pycharm的自定义python模板方法
2018/05/23 Python
Python实现的NN神经网络算法完整示例
2018/06/19 Python
12个Python程序员面试必备问题与答案(小结)
2019/06/24 Python
Python 实现判断图片格式并转换,将转换的图像存到生成的文件夹中
2020/01/13 Python
用CSS3实现背景渐变的方法
2015/07/14 HTML / CSS
使用纯HTML5编写一款网页上的时钟的代码分享
2015/11/16 HTML / CSS
美国波道夫·古德曼百货官网:Bergdorf Goodman
2017/11/07 全球购物
波兰快递服务:Globkurier.pl
2019/11/08 全球购物
2014年道德讲堂实施方案
2014/03/05 职场文书
小学生读书活动总结
2014/06/30 职场文书
纪律教育学习月活动总结
2014/08/27 职场文书
二年级学生期末评语
2014/12/26 职场文书
因个人原因离职的辞职信范文
2015/05/12 职场文书
表彰大会新闻稿
2015/07/17 职场文书
五年级数学教学反思
2016/02/16 职场文书
JS实现简单九宫格抽奖
2022/06/28 Javascript