Ecmascript 6 ES6-用于计数的发电机

Ecmascript 6 ES6-用于计数的发电机,ecmascript-6,Ecmascript 6,我试图使用生成器创建一个计数器,用户点击按钮,计数值就会增加。当我试图得到这个函数时,我没有得到那个函数。我错过了什么吗 提前谢谢 index.html <div class="counter"> <div id="count-gen">0</div> <button onclick="countGen()">Count</button> </div> 您已经合并了两件应该分开的事情:生成器

我试图使用生成器创建一个计数器,用户点击按钮,计数值就会增加。当我试图得到这个函数时,我没有得到那个函数。我错过了什么吗

提前谢谢

index.html

  <div class="counter">
     <div id="count-gen">0</div>
     <button onclick="countGen()">Count</button>
    </div>

您已经合并了两件应该分开的事情:生成器和使用生成器的事件处理程序。您还需要使用生成器的迭代器:

const count = countGen();
function handler() {
  document.getElementById('count-gen').innerHTML = count.next().value;
}
发电机(注意回路):

(我还将其作为一个预增量,因为您似乎希望从1开始。)

获取迭代器:

const count = countGen();
function handler() {
  document.getElementById('count-gen').innerHTML = count.next().value;
}
使用迭代器:

const count = countGen();
function handler() {
  document.getElementById('count-gen').innerHTML = count.next().value;
}
实例:

函数*countGen(){
让计数=0;
while(true){
产量++计数;
}
}
const count=countGen();
函数处理程序(){
document.getElementById('count-gen')。innerHTML=count.next().value;
}
document.querySelector(“按钮”).addEventListener(“单击”,处理程序)

0
计数

您一直在调用生成器函数,而不是只调用一次,然后在返回的生成器上调用
next
。我不理解它