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 ÑенÑÑбÑÑ 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® 2027 Language Specification > # sec-generator.prototype.return > |