猿站网:【前端】ajax中的async属性值之同步和异步及同步和异步区别

在Jquery中ajax方式中async用作掌控并行和触发器,当async值为true时是触发器允诺,当async值为fase时是并行允诺。

ajax中async那个特性,用作掌控允诺统计数据的形式,预设是true,即预设以触发器的形式允诺统计数据。有时候工程项目中会加进AJAX并行。那个并行的原意是当JS标识符读取到现阶段AJAX的此时会把网页里大部份的标识符暂停读取,网页再次出现死而复生状况,当那个AJAX拒绝执行完后才会竭尽全力运转其它标识符网页死而复生状况中止。而触发器则那个AJAX标识符运转中的此时其它标识符那样能运转。

一、async值为true (触发器)

当ajax推送允诺后,在等候server端回到的那个操作过程中,后台会竭尽全力 拒绝执行ajax块前面的JAVA,直至server端回到恰当的结论才会去拒绝执行success,换句话说这此时拒绝执行的是三个缓存,ajax块发出允诺后三个缓存 和ajax块前面的JAVA(另三个缓存)比如

$.ajax({ 
 type:"POST", 
 url:"Venue.aspx?act=init", 
 dataType:"html", 
 success:function(result){ 
 function1()
 } 
 failure:function (result) { 
 alert(Failed); 
 }, 
 } 
 function2();

在上例中,当ajax块发出允诺后,他将逗留function1(),等候server端回到,但与此同时(在那个等候操作过程中),后台会去拒绝执行function2()。

二、async值为false (并行)

当拒绝执行现阶段AJAX的此时会暂停拒绝执行前面的JS标识符,直至AJAX拒绝执行完后后,就能竭尽全力拒绝执行前面的JS标识符。比如

$.ajax({
 type:"POST",
 url:"Venue.aspx?act=init",
 dataType:"html",
 async: false,
 success:function(result){
 function1()
 }
 failure:function (result) {
 alert(Failed);
 },
 }
 function2();

当把asyn标为false时,此时ajax的允诺时并行的,换句话说,那个此时ajax块发出允诺后,他会等候在function1()那个地方性,不能去拒绝执行function2(),直至function1()部分拒绝执行完。

有人说:既然触发器这么好,那全部都用触发器好了,并行存在还有什么意义?那么,并行适用作一些什么情况呢?我们能想一下,并行是一步一步来操作,等候允诺回到的统计数据,再拒绝执行下一步,那么一定会有一些情况,只有这一步拒绝执行完,拿到统计数据,通过获取到这一步的统计数据来拒绝执行下一步的操作。

我一开始用ajax时在想,自己写的一些函数为什么不拒绝执行呢?于是我把他放在ajax的上面仍然不拒绝执行,这可怎么办,于是就把函数全部放在了success的回到函数里面,发现函数拒绝执行了。但是把函数放在success里面标识符总归是“丑的、乱的”,后来才知道ajax是预设的触发器拒绝执行,ajax的统计数据还没允诺回来,有些函数就已经拒绝执行完了。而我需要拿到允诺回来的统计数据就能拒绝执行下一步,所以那个是触发器没办法实现的,并行的存在还是有一定道理的。

建站知识

小知识:【前端】DOM对象调用click和onclick的区别

2022-5-22 22:48:42

建站知识

小知识:【干货】jQuery中Json对象和Json字符串的区别

2022-5-24 19:11:49

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索