Generator.prototype.return()

Метод return() вертає надане значення та завершує генератор.

Синтаксис

gen.return(value)

Параметри

value
Значення, яке треба повернути.

Значення, що повертається

Значення, надане як аргумент.

Приклади

Використання return()

Наступний приклад демонструє простий генератор та метод return.

function* gen() {
  yield 1;
  yield 2;
  yield 3;
}

var g = gen();

g.next();        // { value: 1, done: false }
g.return('foo'); // { value: "foo", done: true }
g.next();        // { value: undefined, done: true }

Якщо return(value) викликається на генераторі, який вже знаходиться у "завершеному" стані, він залишиться у "завершеному" стані. Якщо жодного аргументу не надано, властивість value поверненого об'єкта буде такою ж, як при виклику .next(). Якщо аргумент надано, він буде присвоєний як значення властивості value поверненого об'єкта.

function* gen() {
  yield 1;
  yield 2;
  yield 3;
}

var g = gen();
g.next(); // { value: 1, done: false }
g.next(); // { value: 2, done: false }
g.next(); // { value: 3, done: false }
g.next(); // { value: undefined, done: true }
g.return(); // { value: undefined, done: true }
g.return(1); // { value: 1, done: true }

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

Специфікація Статус Коментар
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Generator.prototype.return' in that specification.
Standard Початкове визначення.
ECMAScript (ECMA-262)
The definition of 'Generator.prototype.return' in that specification.
Living Standard

Сумісність з веб-переглядачами

BCD tables only load in the browser

Див. також