MDN says :
Remember, the
await
keyword is only valid insideasync
functions. If you use it outside of anasync
function's body, you will get aSyntaxError
.
但这不是真的。
在 DevTools 控制台中尝试这段代码,没有错误,只有结果:
async function a(val) { return val; }
await a(10) // await is not inside async function
10
代码或文档有什么问题?
最佳答案
MDN 文档是正确的,它解释了它如何在 JavaScript 中工作。
这只是 DevTools 添加的一项功能,可让您更轻松地测试异步/等待代码。而且它不是 JavaScript 功能。
它看起来像是从 11/08/2017 开始在 DevTools 中得到支持:
https://chromium.googlesource.com/chromium/src.git/+/e8111c396fef38da6654093433b4be93bed01dce
如果你窥探
在第 129 行,它们具有评估标记为异步的表达式的函数:
async evaluateCommandInConsole
关于javascript - 在异步函数之外等待不会在控制台中抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53905660/