try-async关于执行顺序的面试题

面试题

try {
  (async function() { a().b().c() })()
} catch (e) {
  console.log(`执行出错:${e.message}`)
}

该题主要考查点是try的同步处理和async的异步。

但是出现了一个疑问,在第一步语法检查的时候,检查出了a is not defined,为什么还会继续执行Promise中的内容。
new Promise本身是同步代码,执行到的时候并不会直接阻塞,作为整体的new Promise仍会被加入Event Queue中。

答案:

posted @ 2021-03-10 17:52  ramenllo  阅读(41)  评论(0)    收藏  举报