resolve를 단순히 '성공 처리'로만 외우는지, 아니면 상태 머신 관점에서 행위와 상태를 구분하고 assimilation 같은 가장자리까지 풀어 설명할 수 있는지를 가른다.
resolve()는 Promise를 "완료로 확정"하는 함수가 아니라, 전달한 값을 기준으로 다음 상태를 결정하는 전이 함수다. 일반 값을 넘기면 fulfilled로 끝나지만, 다른 Promise나 thenable을 넘기면 그 결과를 따라가며 최종 상태가 나중에 정해진다(assimilation). 즉 resolve를 호출했어도 안에 넘긴 Promise가 reject되면 결과는 rejected가 된다. resolve는 행위, fulfilled는 그 행위가 도달할 수 있는 최종 상태 중 하나라는 구분이 정확하다.
Promise 체인이 예상과 다르게 흘러서 디버깅했던 경험을 상태 전이 모델과 묶어 설명할 수 있다
resolve에 다른 Promise를 넘겨 의도치 않게 흐름이 한 틱 더 늘어졌던 사례를 풀어 말할 수 있다
async/await 안에서 reject가 throw로 어떻게 바뀌는지 추적해본 경험과 연결할 수 있다
아직 공개된 답변이 없어요. 첫 공개 답변을 남겨보세요.