The return() method returns the given value and finishes the generator.
gen.return(value)
valueThe value that is given as an argument.
return()
The following example shows a simple generator and the return method.
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 }
if done is true, return(value) as same as next(),value is undefined. (It does not look like this in Chrome; version: 54)
function* gen() {yield 1;}
var g = gen();
console.log(g.next()); //{ value: 1, done: false }
console.log(g.next()); //{ value: undefined, done: true }
console.log(g.return(1)); //{ value: undefined, done: true } | Specification | Status | Comment |
|---|---|---|
| ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'Generator.prototype.return' in that specification. | Standard | Initial definition. |
| ECMAScript 2017 Draft (ECMA-262) The definition of 'Generator.prototype.return' in that specification. | Draft |
| Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|---|
| Basic support | 50 | 13 | 38 (38) | No support | 37 | 10 |
| Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Basic support | No support | 50 | 38.0 (38) | ? | ? | 10 |
© 2005–2017 Mozilla Developer Network and individual 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/Generator/return