JSFiddle - React, Tailwind, and code Playground

HTML

<div id="status"></div>
<pre id="output"></pre>

JavaScript

var squares = function*(n){
    if (n <= 0) {
        return "invalid argument";
    }
	for (var i=0; i<n; i++){
        yield i*i;
    }
    return "finished";
}

var status = document.getElementById("status");
var output = document.getElementById("output");

var arr = [];
var gen = squares(10);
var g;
while(true){
    g = gen.next();
    if (g.done){
        status.innerHTML = g.value;
        break;
    }
    arr.push(g.value);
}

output.innerHTML = JSON.stringify(arr);