js调用generator的方法

1、不断调用generator对象的next()方法,执行generator代码,然后,每次遇到yieldx;返回一个对象,然后暂停。

varf=fib(5);
f.next();//{value:0,done:false}
f.next();//{value:1,done:false}
f.next();//{value:1,done:false}
f.next();//{value:2,done:false}
f.next();//{value:3,done:false}
f.next();//{value:undefined,done:true}

2、直接用for…of循环迭代generator对象,不需要自己判断done。

function*fib(max){
vart,
a=0,b=1,n=0;
while(n<max){
yielda;
[a,b]=[b,a+b];
n++;
}
return;
}
for(varxoffib(10)){
console.log(x);//依次输出0,1,1,2,3,...
}
原文来自:https://www.py.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容