此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

AsyncGeneratorFunction() 构造函数

基线 广泛可用

自 2020年1月 起,此特性已在主流浏览器中得到支持,可在大多数设备和浏览器版本中正常使用。

AsyncGeneratorFunction() 构造函数创建 AsyncGeneratorFunction 对象。

注意,AsyncGeneratorFunction 不是全局对象。它可以通过执行以下代码获取。

js
const AsyncGeneratorFunction = async function* () {}.constructor;

AsyncGeneratorFunction() 构造函数不应直接使用,并且所有在 Function() 的描述中提到的注意事项也适用于 AsyncGeneratorFunction()

语法

js
new AsyncGeneratorFunction(functionBody)
new AsyncGeneratorFunction(arg1, functionBody)
new AsyncGeneratorFunction(arg1, arg2, functionBody)
new AsyncGeneratorFunction(arg1, arg2, /* …, */ argN, functionBody)

AsyncGeneratorFunction(functionBody)
AsyncGeneratorFunction(arg1, functionBody)
AsyncGeneratorFunction(arg1, arg2, functionBody)
AsyncGeneratorFunction(arg1, arg2, /* …, */ argN, functionBody)

备注:无论是否使用 new 调用 AsyncGeneratorFunction(),都可以创建一个新的 AsyncGeneratorFunction 实例。

参数

参见 Function()

示例

使用构造函数

以下示例使用 AsyncGeneratorFunction 构造函数创建一个异步生成器函数。

js
const AsyncGeneratorFunction = async function* () {}.constructor;
const createAsyncGenerator = new AsyncGeneratorFunction("a", "yield a * 2");
const asyncGen = createAsyncGenerator(10);
asyncGen.next().then((res) => console.log(res.value)); // 20

规范

规范
ECMAScript® 2027 Language Specification
# sec-asyncgeneratorfunction-constructor

浏览器兼容性

参见