我在这里用几个例子(附带图文)给你们讲解一下,具体区别。
第一个例子
一、同步
执行步骤:
step1 ===》 step2 ===》step3
先打印 hello moon,
再打印图片,
等待图片打印完,再打印 hello Jupiter
一步一步执行,等待上一步执行完,再执行下一步。
二、异步
step1 ===》step2 / step3
先打印 hello moon,
再执行打印图片,在打印图片时候如果网络比较慢,会接着执行打印 hello Jupiter
第二个例子
给100名顾客发信息,问他们的护照号码是多少。
一、同步
给一个顾客发信息,等待他找号码然后找到之后再回复你,你再给另一位发信息,直到所有人的号码都知道了。(一个实格代表发信息,两个虚线格,代表等待过程)而在等待过程中,你完全无事干,只有等待。
二、异步
给一位顾客发完信息,在等待他回复的同时,再给另一位顾客发信息,不必等待他,直到知道所有人的号码。
区别
异步明显提高了工作效率,现在主流的就是异步请求,目的就是提高用户体验。
但有时候我们的任务三,需要任务二完成后,在它那里得到一些数据,这个时候就需要在任务二上加上 async 和 await