js是单线程(一个任务执行完以后才能执行下一个)机制运行的,事件执行时有事件循环机制,它会先执行同步任务再执行异步任务,事件执行顺序为同步任务(无论耗时多久)、process.nextTick(同步任务执行完,异步任务执行前运行)、异步任务、setImmediate(一次事件循环中的异步任务执行完后执行);setImmediate函数就是在当前事件循环结束时调用
process.nextTick和setImmediate函数在node环境才能执行
宏任务:计时器、ajax、读取文件
微任务:primise.then()
执行顺序(一次事件循环中):同步程序、process.nextTick、微任务、宏任务、setImmediate()