-
Notifications
You must be signed in to change notification settings - Fork 3.3k
Open
Labels
Description
这题怎么没人答,我说下我粗浅的认识,抛砖引玉,欢迎指正和补充。
我觉得这题主要是考察这三者在事件循环中的区别,事件循环中分为宏任务队列和微任务队列。
其中settimeout的回调函数放到宏任务队列里,等到执行栈清空以后执行;
promise.then里的回调函数会放到相应宏任务的微任务队列里,等宏任务里面的同步代码执行完再执行;async函数表示函数里面可能会有异步方法,await后面跟一个表达式,async方法执行时,遇到await会立即执行表达式,然后把表达式后面的代码放到微任务队列里,让出执行栈让同步代码先执行。
OnePsycho, suxiaobo0827, zhukunpenglinyutong, ZeroJsus, chengpan168 and 152 moreHSdiana, WilliamALiang, cool-518, wengmm, AKclown and 5 moreLiingot, yangxinSamsara, lzxxxxx, XuanZhenJun, 307590317 and 12 moreHideer, caojikeai, WilliamALiang, cool-518, ohxianyu and 5 moreLiingot, yangxinSamsara, Dutianyang, XuanZhenJun, zjiedo and 9 moreyangxinSamsara, Dutianyang, Rain-Emperor, zjiedo, tinytot1 and 21 moresongsongQAQ, c1026287787, np2472059195, Liingot, mybedhome and 28 more