js是單線程(一個任務(wù)執(zhí)行完以后才能執(zhí)行下一個)機制運行的,事件執(zhí)行時有事件循環(huán)機制,它會先執(zhí)行同步任務(wù)再執(zhí)行異步任務(wù),事件執(zhí)行順序為同步任務(wù)(無論耗時多久)、process.nextTick(同步任務(wù)執(zhí)行完,異步任務(wù)執(zhí)行前運行)、異步任務(wù)、setImmediate(一次事件循環(huán)中的異步任務(wù)執(zhí)行完后執(zhí)行);setImmediate函數(shù)就是在當前事件循環(huán)結(jié)束時調(diào)用


process.nextTick和setImmediate函數(shù)在node環(huán)境才能執(zhí)行
宏任務(wù):計時器、ajax、讀取文件
微任務(wù):primise.then()
執(zhí)行順序(一次事件循環(huán)中):同步程序、process.nextTick、微任務(wù)、宏任務(wù)、setImmediate()