2 qq 30506009 qq_30506009 于 2016.04.21 16:02 提问

同步传输技术和异步传输技术的优缺点是什么?

ajax的同步与异步的优缺点?以及他们有什么不同?最好举个例子,谢谢

2个回答

showbo
showbo   Ds   Rxr 2016.04.21 16:21
已采纳

同步后挂起后续代码的执行直到ajax返回,异步不会。同步如果网速蛮有些浏览器会假死一段时间,无法进行任何操作

任何需要同步的地方都可以用异步+回调实现,只有懒人才会用同步。。,如某个函数的返回值,不会用回调形式就只能同步了。

同步

 function getRst(){
   var xhr=new XMLHttpRequest();
     xhr.open('get','url',false);
     xhr.send(null);
     return xhr.responseText
}
var r=getRst();
alert(r)

异步

  function getRst(callback){
   var xhr=new XMLHttpRequest();
     xhr.open('get','url',true);
     xhr.send(null);
     xhr.onreadystatechange=function(){if(4==xhr.readyState){callback(xhr.responseText)}}
}
getRst(function(r){alert(r)});
litiammmm
litiammmm   2016.04.21 16:20

同步:比如要把数据库的名字提出来显示在页面,A负责从数据库去拿“名字',B负责在页面显示,这时使用同步的话就是当A在去数据库取“名字”的时候,B先不往下执行,等到A把名字拿回来之后再和A一起去前台显示“名字”。
异步:异步就是不管A是否已经把”名字“从数据库拿出来没有,A和B各走各的,互不干扰。

上面的例子,也不算特别严谨,有时就算不定义同步,也是可以正常进行”名字“显示的,但是一般这种场合还有更加严谨的定义先后顺序的方法。

不知道自己的表达是否清晰,哈哈!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!