js中同步与异步处理的方法和区别总结
来源:互联网 发布:超级玛丽c语言源代码 编辑:程序博客网 时间:2024/05/22 15:44
在使用异步请求时,有时需要将异步请求的结果返回给另一个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....
}
});
总结:若要在使用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....
}
});
阅读全文
0 0
- js中同步与异步处理的方法和区别
- js中同步与异步处理的方法和区别总结
- 同步方法和异步方法的区别
- ajax中同步和异步的区别
- ajax中同步和异步的区别
- JAVA中异步和同步的区别
- js中同步与异步
- 特权同学的异步复位,同步处理方法总结
- 普通方法调用,Invoke,begininvoke三者的区别总结及异步与同步的区别总结
- JS的同步与异步
- 同步与异步的区别
- 同步与异步的区别
- 同步与异步的区别
- 同步与异步的区别
- 同步与异步的区别
- 异步与同步的区别
- 同步与异步的区别
- 同步与异步的区别
- sql多个条件更新
- 使用NFS启动Tiny4412开发板根文件系统
- 使用Mybatis-Generator自动生成Model、Mapper相关文件
- 程序员会用到的东西 有些不常用
- web 性能笔记整理(持续更新)
- js中同步与异步处理的方法和区别总结
- mysql 增删查改-练习
- 常用正则表达式
- 【转】数据库基本知识:(四)数据操作-删和改
- Spark 增量操作 insertInto() 与 mode(SaveMode.Append).saveAsTable() 的区别
- logback mdc
- Srping boot 配置文件详解
- 76、java自定义异常
- Tensorflow训练渐渐变慢,迭代一段时间卡死