0
의 결과를 반복하는 방법, 내 루프 못생긴 : 맥락에서는 발전기의 결과를 반복하는 더 나은 방법이 있나요 발전기 기능
for(let job = readyJob.next(); !job.done; job = readyJob.next()){ }
결정할 수 발전기 기능이 있습니다 작업 일괄 처리가 1 .. * 작업으로 구성된 경우 (일괄 처리에서 작업을 반환하지 않을 수도 있음). 생성자를 인스턴스화하고 작업에 대한 작업을 수행하는 일괄 처리 (반복)를 반복하는 연속 루프가 있습니다.
이 반복 문제에 대한보다 세련된 해결책이 있습니까? Java/C#의 전통적인 iterator와 같아서 나쁘지는 않습니다. "각자"와 같은 어떤 것은 읽을 수있는 슈퍼가 될 것입니다 ... 그것은 어쨌든 나의 희망입니다.
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()
};
}
}
는
while(true){
let readyJob = getReadyJob()
for(let job = readyJob.next(); !job.done; job = readyJob.next()){
console.log(JSON.stringify(job.value)) ;
}
}
은 " 에 대한 "정확히 내가 뭘 찾고 있었는지 (말 장난이야 - 고마워. 나는 "for loop"옵션을 사용하여 "for loop"옵션을 덩어리로 만들 것입니다. 매우 C++/Java/C#으로 언급했는데, 작동하지만 그 라인에서 계속 진행되는 엄청난 양이 있습니다 ... – akaphenom
글쎄, '동안'은 꽤 관용적이다. 그러나 'for..of'는 가독성이 뛰어나고 발전기와 완벽한 조화를 이룹니다.) – raina77ow