同步API:只有当前API执行完成后,才能继续执行下一个API;
异步API:当前API的执行不会阻塞后续代码的执行。
同步异步代码执行顺序
同步:从上到下依次执行,前面代码会阻塞后面代码的执行。
异步:不会等待API执行完成后再向下执行代码。
1、同步代码先执行,按先后顺序执行
也就是先执行console.log('代码开始执行‘)
再执行console.log('代码执行结束’)
2、异步代码会放到异步代码执行区,异步函数中的回调函数会放到回调函数队列
当同步代码区的代码执行完毕,异步代码区的代码会同时执行,记住:是同时执行,
0s后,第二个定时器执行完毕,接下来执行这个异步函数中对应的回调函数,
也就是执行console.log('‘“0秒”后执行的代码’);
2s后,第二个定时器执行完毕,接下来执行这个异步函数中对应的回调函数,
也就是执行console.log('‘“2秒”后执行的代码’);
最后输出结果是:代码开始执行
代码执行结束
“0秒”后执行的代码
“2秒”后执行的代码
区别2:同步API可以从返回值中拿到API执行结果,异步不行。