Generator.prototype.return()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2016.
Метод 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 }
Спецификации
Specification |
---|
ECMAScript Language Specification # sec-generator.prototype.return |
Совместимость с браузерами
BCD tables only load in the browser