Como iterar sobre os resultados de uma função de gerador

Existe uma maneira melhor de iterar sobre os resultados de um gerador, meu loop for é feio:

for(let job = readyJob.next(); !job.done; job = readyJob.next()){ } 

No contexto, há uma função de gerador que pode determinar se há um lote de trabalho, consistindo em 1 .. * trabalhos (o gerador também pode retornar nenhum trabalho no lote). Há um loop contínuo que instancia o gerador e itera sobre o lote, fazendo o trabalho no trabalho (registro).

Existe uma solução mais elegante para esse problema de iteração. Quero dizer, isso parece um iterador tradicional de Java / C # que não é ruim. Algo como um "cada" seria super legível ... Essa é minha esperança de qualquer maneira.

 let getReadyJob = function *(instance){
    let numJobs = 7 ; // getRandomInt(0, 10) ;
    for(let i = 0; i < numJobs; i++) {
        yield {
            jobId: '' + instance + '::' + i,
            jobReadyOn: (new Date()).valueOf()
        };
    }
}

então

while(true){
    let readyJob = getReadyJob()

    for(let job = readyJob.next(); !job.done; job = readyJob.next()){
        console.log(JSON.stringify(job.value)) ;
    }
}

questionAnswers(2)

yourAnswerToTheQuestion