标题说明了一切。 同一件事的另一种说法是:如果
async function
不包含任何 await
调用,V8 是否知道将其优化掉?
通过标记函数
async
,您可以保证每个 return
最终都会返回一个已确定的 Promise,并且任何抛出的异常都会最终返回一个被拒绝的 Promise。无论引擎使出什么花招,都改变不了这个基本事实。
此外,如果您不想
async
任何东西,为什么要首先将函数标记为 await
呢?由于这在概念上并不构成发送,为什么引擎要针对它进行优化?