for await of 스트림 계약 기준
값의 타입만 맞아도 생산자 정리, 소비자 중단, 오류 전파가 빠지면 스트림 코드는 오래 버티기 어렵습니다.
생산자는 다음 값을 약속
next() 가 Promise로 IteratorResult를 돌려주고, 완료 시 done을 명확히 보냅니다. · AsyncIterator
소비자는 순서대로 대기
루프 본문은 각 값을 처리한 뒤 다음 요청으로 넘어가므로 backpressure가 자연스럽습니다. · for await...of
중단 시 정리를 보장
break, throw, 연결 종료 같은 상황에서 파일 핸들러나 구독을 닫아야 합니다. · return 또는 finally
핵심for await of 스트림 계약 기준은 각 요소의 관계와 선택 조건을 함께 읽어야 한다.