AsyncGeneratorFunction() 构造函数

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

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

参见