Promise를 공부하고 직접 써보면서 참 이질적이라고 느꼈다.
await나 then으로 반환하면 Promise 타입으로 반환된다.
이것 때문에 골치를 많이썩혔다.
응답을 받으면 객체 형태로 반환 받는다.
그런데 VSC에서는 TS가 '함수' 타입으로 추론을 해서 주변에 물어보니 then을 쓰거나 React-Query 같은 것을 사용해야 한다고 한다.
근본적이 의문이 든다. 이전 개발자들이 여태껏 Promise를 이렇게 귀찮은 방식으로 사용해 왔다고?
Promise객체는 내부 프로퍼티가 있다. state와 result.
응답을 정상적으로 받으면 state는 fulfilled가 되고 정상적으로 받지 않으면 rejected가 된다. 요청을 보내지 않으면 pending 상태이고.. 애초에 응답의 가짓수가 왜 많은걸까? 응답이라는 것 자체가 요청을 정상적으로 보내야 받을 수 있는것 아닌가?
그렇다면 요청은 응답을 받아야 정상적으로 요청이 되었다고 명제를 두는가 보다 싶다. 그러니 계속 이렇게 번거롭게 사용했고, TS도 Promise를 함수로 추론하나