AsyncGeneratorFunction
En esta página
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 {{jsxref("Function")}}.
{{InteractiveExample("JavaScript Demo: AsyncGeneratorFunction", "taller")}}
```js interactive-example 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#
- {{jsxref("AsyncGeneratorFunction/AsyncGeneratorFunction", "AsyncGeneratorFunction()")}}
- : Creates a new
AsyncGeneratorFunctionobject.
Instance properties#
Also inherits instance properties from its parent {{jsxref("Function")}}.
These properties are defined on AsyncGeneratorFunction.prototype and shared by all AsyncGeneratorFunction instances.
- {{jsxref("Object/constructor", "AsyncGeneratorFunction.prototype.constructor")}}
- : The constructor function that created the instance object. For
AsyncGeneratorFunctioninstances, the initial value is the {{jsxref("AsyncGeneratorFunction/AsyncGeneratorFunction", "AsyncGeneratorFunction")}} constructor. 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 in {{jsxref("Object.prototype.toString()")}}.
These properties are own properties of each AsyncGeneratorFunction instance.
- {{jsxref("AsyncGeneratorFunction/prototype", "prototype")}}
- : Used when the function is used as a constructor with the
newoperator. It will become the new object's prototype.
Instance methods#
Inherits instance methods from its parent {{jsxref("Function")}}.
Specifications#
{{Specifications}}
Browser compatibility#
{{Compat}}
See also#
async function*async function*expression- {{jsxref("Function")}}
- {{jsxref("AsyncFunction")}}
- {{jsxref("GeneratorFunction")}}
- {{jsxref("Functions", "Functions", "", 1)}}