2023-05-15
(1)js中的同步任務(wù)與異步任務(wù)
①同步任務(wù)是指:不耗時(shí)的任務(wù),就是執(zhí)行很快,
②異步任務(wù)是指:耗時(shí)的任務(wù),它里面有一個(gè)機(jī)制是EventLoop(事件循環(huán)),即值耗時(shí)任務(wù)會(huì)被js分配到宿主環(huán)境中進(jìn)行執(zhí)行,執(zhí)行后的結(jié)果放到一個(gè)“消息隊(duì)列”中,當(dāng)js將同步任務(wù)執(zhí)行完畢后,才會(huì)調(diào)用異步環(huán)境。在消息隊(duì)列中的存放順序的位置的規(guī)則是按照“誰(shuí)(異步任務(wù))先執(zhí)行完,誰(shuí)的運(yùn)算結(jié)果先存放”,之后使用回調(diào)函數(shù)進(jìn)行調(diào)用。
(2)有關(guān)EventLoop的經(jīng)典面試題
?問(wèn)題:請(qǐng)說(shuō)明上述代碼的執(zhí)行順序
結(jié)果:ADCB
理由:A與D時(shí)同步任務(wù),readFile與setTimeout是異步任務(wù)。A,B先執(zhí)行,C,D后執(zhí)行,因?yàn)閟etTimeout中的0毫秒之后進(jìn)行響應(yīng),它的返回結(jié)果需要的時(shí)間短,它先執(zhí)行。readFile異步任務(wù)中讀取文件需要時(shí)間,因此它最后執(zhí)行。所以執(zhí)行的結(jié)果是ADCB。
(3)宏任務(wù)與微任務(wù)
①宏任務(wù)與微任務(wù)都是異步任務(wù)
②宏觀任務(wù)與微觀任務(wù)的劃分如下:
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-445067.html
?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-445067.html
到了這里,關(guān)于20230515學(xué)習(xí)筆記——js中的同步任務(wù)與異步任務(wù),宏任務(wù)與微任務(wù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!