Spec-Zone.ru › JavaScript

AsyncGeneratorFunction

Baseline Широко доступно

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с января 2020 года.

Объект 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.

prototype
Используется, когда функция используется как конструктор с оператором new. Он станет прототипом нового объекта.

Методы экземпляра

Наследует методы экземпляра от родительского Function.

Спецификации

Specification
ECMAScript® 2027 Language Specification
# sec-asyncgeneratorfunction-objects

Совместимость с браузерами

Desktop Mobile Server
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet WebView Android WebView on iOS Bun Deno Node.js
AsyncGeneratorFunction
63
79
55
50
12
63
55
46
12
8.0
63
12
1.0.0
1.0
10.0.0
AsyncGeneratorFunction
63
79
55
50
12
63
55
46
12
8.0
63
12
1.0.0
1.0
10.0.0

См. также

  • async function*
  • async function* expression
  • Function
  • AsyncFunction
  • GeneratorFunction
  • Функции

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/AsyncGeneratorFunction

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API