- 비동기 함수가 generator인 이유는 Promise를 generator로 변환하기 때문이라는 async 방식을 설명하기 위해 generator를 사용했다. ♻️
- generator는 yield를 이용해 값을 생성하고 주기를 가질 수 있으며, Promise는 동작이 완료될 때 값을 반환하는 구조를 가지고 있다. ⛓️
- 비동기 함수는 generator 내부에서 Promise를 사용하여 비동기 작업을 처리하고, await를 통해 Promise의 결과를 수렴한다. ⏳
- await를 통해 Promise가 완료될 때까지 기다리므로, 비동기 함수는 순차적으로 실행된다. 📑
- generator는 컨텍스트를 유지하며, 비동기 작업 이후에도 동작 상태를 되살릴 수 있다. 💫