AsyncGeneratorFunction() 构造函数

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

规范

Specification
ECMAScript Language Specification
# sec-asyncgeneratorfunction-constructor

浏览器兼容性

BCD tables only load in the browser

参见