为了账号安全,请及时绑定邮箱和手机立即绑定

yield的用处我确实在第二个例子中没看出来,请解惑

老师  这个例子我确实没看出yield的用处 function getStockPrice () {       return Math.random()*100; } var limitprice = 15 var price = 100 while(price > limitprice){  price = getStockPrice();  console.log(`price is ${price}`); } console.log(`buying price is ${price}`); 我这样也能跑出同样的效果,请解答我的疑惑

正在回答

4 回答

代码是有点鸡肋。是这样的getStockPrice 里面是个while循环,当price>limitPrice的时候,进入price=priceGenerator.next().value;这里会执行getStockPrice 到yield处,然后输出值赋给price然后console.log输出generator方法返回值,再去比较while条件price>limitPrice,如果不满足generator方法里面的while继续跑,跑一次又遇到了yield,停下返回值。。如此循环直到最后可以跳出来下面的while循环,打出最后buying的价格。这里感觉generator方法还断在那里等待着调用呢。。

0 回复 有任何疑惑可以回复我~

确实是这样,明明这样用普通函数就实现的功能。

function getPrice(){
  return Math.random()*100;
}
var limitPrice=15;
var price =100;
while(price>limitPrice){
  price=getPrice();
  console.log(`price is ${price}`);
}
console.log(`buy price is ${price}`);


0 回复 有任何疑惑可以回复我~

我也觉得第二个例子的yield有点鸡肋。坐等高人解答

0 回复 有任何疑惑可以回复我~

http://img1.sycdn.imooc.com//591be794000123a508440471.jpg附上老师的代码

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
TypeScript入门
  • 参与学习       59374    人
  • 解答问题       99    个

TypeScript入门视频教程包括TypeScript的基本概念、常用语法和高级特性

进入课程

yield的用处我确实在第二个例子中没看出来,请解惑

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信