如果我有以下生成器:
function* generate() {
yield 1;
yield 2;
return 3;
}
ES6 中是否有内置的东西可以从中获取 [1, 2]
和 3
(无需手动执行 next
)?
如果我只需要 1
和 2
我可以使用 for(of)
,但我想得到 3
作为好吧。
最佳答案
生成器的设计目的并非如此。如果您想一次获取所有值,那么我几乎看不到使用生成器的意义。如果必须的话,你可以这样做 -
function* generate() {
yield 1;
yield 2;
return 3;
}
var arr = [], k, it = generate();
do {
k = it.next();
arr.push(k.value);
} while (!k.done);
console.log(arr);
关于javascript - ES6中有没有东西可以收集迭代器,包括最终的返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24348424/