产生原因
由于js为单线程,许多任务在一条主线程上运行,就会出现拥挤 进而出现了多线程,但这种多线程是通过单线程模仿的,就产生了同步异步任务;
宏任务微任务
宏任务:一般是script标签的所有内容,setTimeout/setInterval
微任务:Promise
执行过程
先执行同步任务,将宏任务放到宏任务消息队列,微任务放到微任务队列,执行同步任务再执行微任务,再将宏任务放入主线程执行,一直循环直到所有任务都执行完毕;
产生原因
由于js为单线程,许多任务在一条主线程上运行,就会出现拥挤 进而出现了多线程,但这种多线程是通过单线程模仿的,就产生了同步异步任务;
宏任务微任务
宏任务:一般是script标签的所有内容,setTimeout/setInterval
微任务:Promise
执行过程
先执行同步任务,将宏任务放到宏任务消息队列,微任务放到微任务队列,执行同步任务再执行微任务,再将宏任务放入主线程执行,一直循环直到所有任务都执行完毕;