00:01
继续往下。那再往下的话呢,我们来看。现在整个阿贾克斯啊,它的主体的这个课程啊,或知识点都已经讲完了,后面呢,我们来讲一下呢,这个一步和同步的区别,也就是我们在指定open方法的时候,它的第三个参数的作用。Open来看一下。刚才呢,就找一下我们这个页面,我们看open这个方法的第三个参数,也就是他。它来表示呢,你是同步还是移步的,那这里呢,默认情况下呢,我们一般来说都用这个针针表示是移步行,为什么是一步呢,我们来看一下效果啊一步。真是表示一步处理请求,这个一步除去请求呢,它是说你使用这个移步对象发起请求后,不用等待。
01:07
不用等待数据处理完毕就可以。就可以执行其他的操作。好,其他炒作,这就是一步的意思。它的解释呢,也就是说当你执行完send之后,它是不是应该发请求啊,发请求之后,请求发给了你的so light。然后你搜that应该是返回数据这个过程。才表示请求可以完成吧,就说你把请求发过去,然后数据返回来,本次请求才是真正的完成吧。那这个一步是说呢,你把请求发出去了。那么select返回这个数据,你不用等着返回。
02:03
这块你不用等着。你可以继续呢做其他操作,当你的so返回数据之后。你的一步对象再回过头来处理这个数据。那这种方式呢,你可以呢,在你的代码中同时可以处理很多个请求,效率就高,所以我们在开发中用的就是帧一步清楚给大家看一下这个例子,我们在这个散的方法之后呢,在这儿我打印一个输出语句啊,打印一个输出。我们这个是在散的之后的代码啊,散之后的代码。按照我们的理解,代码从上往下走。当找到散之后,那他是不是应该发出请求啊?发了请求,按照我们之前的代码理解,你发请求了,这边是。那你正常逻辑应该是说你得搜大把数据返回来了。
03:04
这时候你的请求才处理完成吧?才处理完成对吧,这正常的逻辑吗?那我们现在呢,这做的是一步,那它是说你可以通过散发请求给so。发完之后,你的代码可以继续往下走,可以走这个代码。当你的服务器端返回数据之后,他在执行上面这段代码。也就是说,把你发请求,他要接收数据这块分开了,不用等着数据处理完成,就可以执行其他的代码。这就是一步的意思。比如说你可以同时干好多事情,你可以去发请求,你也可以执行a lot,而不必等待着。上面的这个请求去完成,就可以干其他的事情。好,我们看一下这个效果吧,加了一个他代码。
04:00
好,我们把这个服务呢。更新一下我们的页面资源。然后把这个关掉了啊。还是看一下我们这个。阿贾克斯的页面MY阿贾克斯加JSP。刷新一下页面,把缓存呢清一下。发现页面,然后右键看原代码,看一下我们代码是不是改过来了,这块呢,我们加上了a lott在S之后的代码。现在我们看一下,我来点击一下。嗯,我们看看这样。我把呢,我们的代码呢,停掉停掉啊。停了之后。我回到我们刚才的。这个。我给三亚里边呢打一个断点,比方说我们就在这打断点吧,这打个断点。那如果打断点的话,我们的程序应该是执行到断点的位置,是不是就停止了,看着啊,我现在用debug模式来启动应用。
05:09
八个模式。第八个模式,如果程序代码执行到了断点位置,乘应该停到这。我重新启动了应用了。用之后把日志清掉。然后浏览器刷新一下,现在我来点击搜索。我们看三的之和代码是不是立即就执行了,没有等着你之前的那个一步请求返回数据就执行了。散了之后的代码了吧。为什么这么说?因为你的请求没听完呢,你看你的断点。就停到了这个位置啊。停到断点位置了,就说明你的前端页面中的这个移步对象,这个请求发出去了,数据是没返回来。
06:03
你的这个请求,他实际上说没有处理完。没有处理完,不影响你后续代码的执行。这就是一步的意思,然后现在执行程序啊,执行我们这个后端的。F8单拇指往后走。好,这我们看啊,走到这行了,能看见吧,走到这三了,然后再走这输出输出输出好。程序代码呢,往后走。行了。我们看看这里边哪个是这个走完了,走完之后,你这时候你看是不是才有数据啊。这就是一步的意思,那一步的好处就是它不会阻碍着你其他代码的执行处理呗。这个代码不会有影响你的散的请求发出之后,后续代码可以立刻得到执行。
07:00
当你的服极端反数之后,你的一步对象再接着处理你的数据部分,这样的话,那就意味着你可以同时这执行一个请求处理,那你在后面这也可以。他说你也可以创建其他的这个一步对象。然后发送其他的请求处理外,这样的话就相当于你可以类似多线程似的,你可以有好几个类似于线程的方式来发起请求吗?互不干扰,那么这是一个独立的请求发送,这也是一个独立请求代码,从上往下走,他发请求,他也发请求,他也执行了。这就是针一步的方式。那如果是甲的话,甲的同步是什么意思呢?我们看一下对比就是甲啊。
08:03
然后这个代码呢,我们这加点标识。有变化的啊,现在这是甲了,甲的话是同步啊。甲呢是同步同步。首先呢,我把代码的更新一下。呢说。把缓存清理一下,刷新。现在我说啊。点击搜索。我们注意看啊,现在在页面中是没有弹出我们的信息,而且你也看到我们这块的内容,这是没有执行完毕,没有200的内容吧。现在再来看,我们的程序停到了断点位置,那说明现在程序停到了断点的位置,本次请求没有处理完成。那我们的。
09:01
这个移步掉请求是不是就停在这个位置等待着,应该是往下来啊,停在了散的这个位置,等待着这个请求处理完成。处理完成,他必须得收到数据。然后你才能往下执行,那就意味着同步的方式在任意时刻你只能执行一个请求处理后面这些代码,现代都不能执行,那接着我们来看我们的服务器端,把代码执行完毕,看有什么效果啊。F8弹幕执行好,走走走。最后啊,我们把程序代码执行完了。然后你看到这个三的这个代码数才直行啊。这样的话一对比的话非常直观嘛。好。那这边我们来说甲的话是同步,那就是说你的这个一步对象必须。
10:08
处理完成请求。就是说你得从这个服务器端获取数据后,你才能。啊,你才能执行三之后的代码。好,那就说你任意时刻。你只能直行。一个一步请求,就是同时你只能干一件事情啊,你不能同时干好多个请求不行的。好,那就说甲的话,那就请求从往下来,当走散之后,必须等着这个移步对象。
11:05
拿到了服装数据。整个这个一步请求处理完成之后,下面代码才能执行,很显然它的效率低呀,它任意时刻只能做一个请求处理啊,不能同时使用多个,所以我们在实际项目中几乎很少用这种假的方式,我们都用的是真可以同时执行多个一步请求,这就是一步和同步的区别。好,这个内容呢,我觉得大家应该没问题吧,我们把这个内容呢,也更新到我们的思维导图上。我们看写在哪儿呢?写在这儿吧。一步和同步,一步和同步,好,一步和同步,那我们来说一步一步呢,那我们来指定的是open的第三个参数为根,这是我们的方式。
12:02
然后URL,然后是一个处,好,这是我们的。一步啊一步。那么一步的解释的意思就是说呢。嗯,一个解释说,那我们可以呢,是在这个。在散之后。执行其他的代码啊,执行其他的代码。可以同时执行多个一步请求,这是为真啊,这是一步。那还有一个就是同步呗。同步的话,那就是我们的open get URL,然后这是一个甲甲就说呢一次。
13:04
只能执行一个一步,请求必须是处理完成后,请求处理完成后。你才能执行其他的请求,处理它的效率就很低了呗,所以我们在实际开发中的话呢,我们用的都是针啊,就是一步和同步的一个区别。好,那么整个阿贾克斯的内容呢,到这儿呢,基本上就全部的给大家介绍完毕了,实际上最主要就是就这一块呗,这四部的一个使用。实句中用的是真。数据格式呢,用的是Jason就完事了,这就是我们的第一门呢,前端的课程,阿贾克斯的所有内容啊所有内容。
我来说两句