4-1,4-2 异步和单线程-什么是异步

4-1 异步和单线程-什么是异步

题目

同步和异步区别是什么?分别举一个同步和异步的例子

一个关于setTimeout的笔试题

前端使用异步的场景有哪些?

知识点

什么是异步

前端使用异步的场景

异步和单线程


1、什么是异步


4-1,4-2 异步和单线程-什么是异步_第1张图片

第一种情况,同步,打印 100,200,300

第二种情况,异步 打印100,300,200

区别是否阻塞,同步是阻塞的,到了第二步,就一直等着1秒后才能执行下面的句子,这是阻塞的。而异步不是阻塞的,第二个打印事件等待,先执行打印300,等待结束,再执行打印200,不会阻塞;



4-1,4-2 异步和单线程-什么是异步_第2张图片

如果不确认,那么下面句子就不执行,阻塞下面代码执行。同步就是按顺序执行,会阻塞。



4-1,4-2 异步和单线程-什么是异步_第3张图片



4-1,4-2 异步和单线程-什么是异步_第4张图片

另外加上一个 ES6中的Promise


4-1,4-2 异步和单线程-什么是异步_第5张图片

在请求的时候,异步执行,先打印start,再打印end,网络请求需要等待,所以异步执行。最后打印出来data1.json里面的内容。



4-1,4-2 异步和单线程-什么是异步_第6张图片


4-1,4-2 异步和单线程-什么是异步_第7张图片

图片加载完了之后,才执行console.log('loaded'),所以需要等待加载,因此是一个异步的过程,先start,再end最后loaded,


4-1,4-2 异步和单线程-什么是异步_第8张图片

该怎么做,就怎么做,但是事件绑定,触发点击事件不确定,需要等待。



4-1,4-2 异步和单线程-什么是异步_第9张图片


定义了一个事件,但是什么时候点击是不确定的,因此需要等待。所以先start,再end。没有卡住。什么时候用户点击test,什么时候打印clicked。

你可能感兴趣的:(4-1,4-2 异步和单线程-什么是异步)