제너레이터 적용 선택 기준

값의 도착 방식과 소비 속도를 먼저 구분하면 일반 함수, 동기 제너레이터, 비동기 제너레이터 중 적절한 도구를 고를 수 있습니다.

값을 언제, 누가 요구하는가?생산 비용, 도착 시간, 소비자의 중단 가능성을 기준으로 선택합니다.
즉시

일반 함수

결과가 작고 한 번에 계산해도 부담이 없으면 값 또는 배열을 바로 반환합니다.

필요할 때

function*

동기 값이 많거나 무한해 소비자의 next() 속도에 맞춰 하나씩 만듭니다.

늦게 도착

async function*

네트워크·파일처럼 비동기 값이 순서대로 도착하고 for await로 소비할 때 사용합니다.

핵심yield*는 별도 선택지가 아니라 선택한 제너레이터 안에서 다른 iterable 흐름을 위임하는 합성 문법입니다.