return() method returns the given value and finishes the generator.

句法

gen.return(value)
					

参数

value

The value to return.

返回值

The value that is given as an argument.

范例

使用 return()

The following example shows a simple generator and the return 方法。

function* gen() {
  yield 1;
  yield 2;
  yield 3;
}
const g = gen();
g.next();        // { value: 1, done: false }
g.return('foo'); // { value: "foo", done: true }
g.next();        // { value: undefined, done: true }
					

return( value ) is called on a generator that is already in "completed" state, the generator will remain in "completed" state.

If no argument is provided, the value property of returned object is the same as if .next() . If an argument is provided, it will be set to the value of the value property of the returned object.

function* gen() {
  yield 1;
  yield 2;
  yield 3;
}
const 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 (ECMA-262)
The definition of 'Generator.prototype.return' in that specification.

浏览器兼容性

The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request. 更新 GitHub 上的兼容性数据
Desktop Mobile Server
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet Node.js
return Chrome 50 Edge 13 Firefox 38 IE No Opera 37 Safari 10 WebView Android 50 Chrome Android 50 Firefox Android 38 Opera Android 37 Safari iOS 10 Samsung Internet Android 5.0 nodejs 6.0.0

图例

完整支持

完整支持

不支持

不支持

另请参阅

元数据

  • 最后修改: