AsyncGeneratorFunction
AsyncGeneratorFunction 对象提供了访问 异步生成器函数 的方法。在 JavaScript 中,每个异步生成器函数实际上都是一个 AsyncGeneratorFunction 对象。
请注意,AsyncGeneratorFunction 不是一个全局对象。可以通过以下代码获取它:
const AsyncGeneratorFunction = async function* () {}.constructor;
AsyncGeneratorFunction 是 Function 的一个子类。
试一试
const AsyncGeneratorFunction = async function* () {}.constructor;
const foo = new AsyncGeneratorFunction(`
yield await Promise.resolve('a');
yield await Promise.resolve('b');
yield await Promise.resolve('c');
`);
let str = "";
async function generate() {
for await (const val of foo()) {
str += val;
}
console.log(str);
}
generate();
// Expected output: "abc"
构造函数
AsyncGeneratorFunction()-
创建一个新的
AsyncGeneratorFunction对象。
实例属性
也从其父级 Function 继承实例属性。.
这些属性定义在 AsyncGeneratorFunction.prototype 上,并被所有 AsyncGeneratorFunction 实例共享。
AsyncGeneratorFunction.prototype.constructor-
创建了实例对象的构造函数。对于
AsyncGeneratorFunction实例,初始值是AsyncGeneratorFunction构造函数。 AsyncGeneratorFunction.prototype.prototype-
所有异步生成器函数共享同一个
prototype属性,即AsyncGenerator.prototype。通过async function*语法或AsyncGeneratorFunction()构造函数创建的每个异步生成器函数也有自己的prototype属性,其原型是AsyncGeneratorFunction.prototype.prototype。当异步生成器函数被调用时,其prototype属性将成为返回的异步生成器对象的原型。 AsyncGeneratorFunction.prototype[Symbol.toStringTag]-
[Symbol.toStringTag]属性的初始值是字符串"AsyncGeneratorFunction"。此属性用于Object.prototype.toString()。
这些属性是每个 AsyncGeneratorFunction 实例自身的属性。
实例方法
从其父级 Function 继承实例方法。.
规范
| 规范 |
|---|
| ECMAScript® 2026 语言规范 # sec-asyncgeneratorfunction-objects |
浏览器兼容性
加载中…