https://javascript.plainenglish.io/unleashing-the-power-of-javascript-generators-a-comprehensive-guide-f62781730c8