如何将javascript生成器与sloth.js一起使用?
这个问题需要了解javascriptsloth库,该库位于以下位置: 如果我有这个javascript生成器如何将javascript生成器与sloth.js一起使用?,javascript,Javascript,这个问题需要了解javascriptsloth库,该库位于以下位置: 如果我有这个javascript生成器 function fibonacci(){ var fn1 = 1; var fn2 = 1; while (1){ var current = fn2; fn2 = fn1; fn1 = fn1 + current; yield current; } } 通过sloth库,我可以将其转换为适合sloth库使用的迭代器 var iter
function fibonacci(){
var fn1 = 1;
var fn2 = 1;
while (1){
var current = fn2;
fn2 = fn1;
fn1 = fn1 + current;
yield current;
}
}
通过sloth库,我可以将其转换为适合sloth库使用的迭代器
var iter = sloth.iterNextable(fibonacci());
上面URL中的sloth文档显示了使用take()函数从sloth友好迭代器中获取n个元素的示例:
sloth.ify([1, 2, 3]).take(2).force();
[ 1, 2 ]
问题是:如何从fibonacci()生成器获取一个我可以调用take()的慢速对象?解决了这个问题。我发布这个问题的原因是
sloth.ify(iter).take(5)
返回
[object Object]
所以我认为我做错了什么。此对象是一个需要评估的惰性对象。这就是force()的作用:
sloth.ify(iter).take(5).force()
返回
1,1,2,3,5