我听说过 JavaScript 中有一个“yield”关键字,但我发现关于它的文档很差。有人可以解释一下(或推荐一个解释)它的用法和用途的网站吗?
最佳答案
迟到的回答,现在可能每个人都知道yield
了,但是已经出现了一些更好的文档。
改编自 "Javascript's Future: Generators" 的示例James Long 为官方 Harmony 标准:
function * foo(x) {
while (true) {
x = x * 2;
yield x;
}
}
"When you call foo, you get back a Generator object which has a next method."
var g = foo(2);
g.next(); // -> 4
g.next(); // -> 8
g.next(); // -> 16
所以 yield
有点像 return
:你会得到一些返回。 return x
返回 x
的值,但 yield x
返回一个函数,它为您提供了一种迭代下一个值的方法。如果您有 potentially memory intensive procedure,则很有用您可能希望在迭代期间中断。
关于javascript - JavaScript 中的 yield 关键字是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2282140/