AsyncGeneratorFunction - JavaScript | MDN
Try it
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"
Constructor
AsyncGeneratorFunction()-
Creates a new
AsyncGeneratorFunctionobject.
Instance properties
Also inherits instance properties from its parent Function.
These properties are defined on AsyncGeneratorFunction.prototype and shared by all AsyncGeneratorFunction instances.
AsyncGeneratorFunction.prototype.constructor-
The constructor function that created the instance object. For
AsyncGeneratorFunctioninstances, the initial value is theAsyncGeneratorFunctionconstructor. AsyncGeneratorFunction.prototype.prototype-
All async generator functions share the same
prototypeproperty, which isAsyncGenerator.prototype. Each async generator function created with theasync function*syntax or theAsyncGeneratorFunction()constructor also has its ownprototypeproperty, whose prototype isAsyncGeneratorFunction.prototype.prototype. When the async generator function is called, itsprototypeproperty becomes the prototype of the returned async generator object. AsyncGeneratorFunction.prototype[Symbol.toStringTag]-
The initial value of the
[Symbol.toStringTag]property is the string"AsyncGeneratorFunction". This property is used inObject.prototype.toString().
These properties are own properties of each AsyncGeneratorFunction instance.
Instance methods
Inherits instance methods from its parent Function.
Specifications
| Specification |
|---|
| ECMAScript® 2027 Language Specification # sec-asyncgeneratorfunction-objects |