javascript class
AsyncGeneratorFunction
The AsyncGeneratorFunction object provides methods for async generator functions. In JavaScript, every async generator function is actually an AsyncGeneratorFunction object.
Note that AsyncGeneratorFunction is not a global object. It can be obtained with the following code:
const AsyncGeneratorFunction = async function* () {}.constructor;
AsyncGeneratorFunction is a subclass of Function.
Interactive exampleOpen the canonical MDN source to run this embedded demo.
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.
- : Creates a new
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.
- : The constructor function that created the instance object. For
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.
- : All async generator functions share the same
AsyncGeneratorFunction.prototype[Symbol.toStringTag]- : The initial value of the
[Symbol.toStringTag]property is the string"AsyncGeneratorFunction". This property is used intoString().
- : The initial value of the
These properties are own properties of each AsyncGeneratorFunction instance.
prototype- : Used when the function is used as a constructor with the
newoperator. It will become the new object’s prototype.
- : Used when the function is used as a constructor with the
Instance methods
Inherits instance methods from its parent Function.
Specifications
SpecificationsStandards references are available on the canonical MDN page.
Browser compatibility
Browser compatibilityCompatibility data is available on the canonical MDN page.