有一篇文章AsyncFunction - JavaScript on MDN。它显示以下代码段:
new AsyncFunction([arg1[, arg2[, ...argN]],] functionBody)
但是在Mozzila Firefox 55和Google Chrome中,都没有定义此构造函数:
我发现
(async function() {}).constructor
确实是AsyncFunction
,但是为什么在全局范围内看不到它? 最佳答案
如Mozilla文档中所述:“请注意,AsyncFunction不是全局对象。”
因此,您不能像其他全局构造函数一样将其作为window
对象的属性进行访问。必须通过查询async
函数的实例来获得它:
从文档:
const AsyncFunction = Object.getPrototypeOf(async function(){}).constructor;