00:00
Hello,各位小伙伴大好,我是西林老师,那么本次直播呢,我们去给大家去讲一讲关于深入javascript的异步编程的相关内容,那首先问一个问题,为什么要学习异步编程?其实在我们的javascript代码中啊,异步是无处不在的,Ajax通信,Noe中的文件读写等等等等,只有搞清楚异步编程的原理和概念,才能在javascript的世界中任意驰骋,随便撒欢,那所以呢,我们今天啊就开始给大家呢去讲一讲关于javascript异步编程的相关概念,那么在讲之前呢,我们得有一个前提,这个前提就是对于javascript执行的一个特性,那这个特性呢,叫做单线程的Java。
01:01
Script,呃,所谓单线程的javascript是什么意思呢?首先我们要去理解单线程的含义啊,就是GS执行的环境中,负责执行代码的这个线程呢,只有一个,就类似于啊,你只有一个人去干活,那一次呢,也就只能做一件事情,有多个任务呢,自然而然哎,就要排队了,那么就类似于这个小动画给大家呢,做了一个简单的图示,就比如现在这个小人就是一个线程,那么这边呢,我有五行代码,当去执行的时候呢,它就必须要从上往下一个一个的去执行,你不能跳啊,你也不能一次执行多个,那么再往下呢,诶,这里也是一段简单代码的一个展示,比如第一行代码呢,就是打印一个for,那如果此时你遇到后面这三行。
02:01
代码时,你会发现我这个代码呢,是一次性循环10万次,那么这个执行的时间是相当长的,也就是比较耗时的一种操作,而单线程的执行代码的原则,那么就会出现问题,什么问题呢?那就是在当前的这个执行过程中,如果一旦遇到类似非常时的执行任务时,那面的代码就会出现等待的这种情况,那一旦后面的代码出现了只等待的这种情况,那么就会造成一种让别人或者是让我们的用户看起来非常不友好的啊,就是一直在等的这种状态,那么为了解决这样的一个问题,哎,我们有了这个javascript的一步,这样的一个概念,那么其实呢,这也就是我们所谓的阻塞的问题啊,那javascript呢,将任务的执行模式分为。
03:01
为了两种,一种模式呢,叫做同步模式,那再有呢就叫做异步模式,其实我们刚刚看到的这种所谓的产生阻塞问题的这种代码的执行方式实际就是同步模式,那所以呢,我们今天要讲的主要内容呢,就分为同步模式和异步模式,到底是怎么回事,那前面其实我们看到的就是同步模式了,那一会儿呢,我们再来详细的去讲解一下,那再接下来呢,就是对于异步编程的几种方式,因为在GS的发展的很多年里啊,异步其实呢,抑制它的编程体验是不友好的,也是困扰程员,或者是在程序员学习Java斯科编程时,一步一直是困扰大家的一个难题啊,好像永远都搞不清楚,那么从历史的发展中来看,Javascript异步编程有哪几种方式,现在我们用的最多的这些方式。
04:01
是不是提供了一种比较好的开发体验,那给我们的一步编程带来哪些便利,或者叫解决了我们编程过程中的哪些问题?那么再往下就是promise的异步方案了,刚才也看到有人说啊,老师什么时候讲讲promise,那我们今天这个直播里面就讲promise,那promise这个异步方案到底是怎么回事,它是怎么来的?Promise翻译过来叫契约,这个契约到底在我们的编程中有什么样的含义或者叫作用,那我们今天呢也给大家讲清楚,那再往下就是a think a wait的一个语法堂,请注意啊,在我们现代化的你使用框架的这种编程的方式里面,比如像你使用view或者是RA,那当你去执行异步的时候呢,我们经常会使用一个a think去声明的函数里面在使用a wait,那a think a wait为什么被称为语法糖?它是怎么来的?为什么它是一种?
05:01
我们现在大多数情况下在使用的一种编程的异步的解决方案,那么最后一个呢,就是可能很多人还没有听过的叫做GENERATOR1步方案,它到底是怎么回事啊,这里呢,也可以给大家呢做一个提前的预告,那其实呢,A think和这个语法糖和generator有直接性的关系,好那么这是我们今天啊要分享的主要内容。
我来说两句