有些好奇,while(true) 为什么不会导致死循环,每次生成1个数字后会自动阻塞执行吗,直到调用next()方法唤醒?
let id =1; while (true) { yield id++; } return;
js中有id++和++id有区别吗?
我的理解是yield语句只在调用next()方法时才会执行,所以如果while(true)条件下只有这一条语句的话应该是不会进入死循环的。
感觉不是阻塞执行,是yield时跳出函数并储存当时的状态。执行next()时还原当时的状态,从上次yield的位置向下执行。
支持楼上老哥的解释。
Sign in to make a reply
骑着Gua牛打酱油
有些好奇,while(true) 为什么不会导致死循环,每次生成1个数字后会自动阻塞执行吗,直到调用next()方法唤醒?