작성
·
147
1
function fetchContacts() : Promise<Contact[]> {
/* ... */
return new Promise( ...)
'Promise' only refers to a type, but is being used as a value here.라고 나옵니다.
이래저래 검색해보고는 new Promise<Contact[]>와 같이 붙여보기도 하고 tsconfig를 es6로 올려보거나 es2015.promise와 같은 컴파일 옵션을 줘도 마찬가지네요.
제 tsc 버전이 낮은가 싶어서 npx로 실행해봐도 마찬가지구요.
제가 생각하는 가능성은
1. Promise는 resolve와 reject시 다른 타입을 뱉어낼 수 있기 때문에, 위와 같은 선언은 에러가 난다.
2. 에러 메세지와 마찬가지로, new Promise를 생성자 함수인데, ts에서는 Promise를 type으로만 쓸수 있다? 입니다.
답변 3
1
0
0
안녕하세요 pius712님 제가 오늘까지 일이 좀 많았어서 질문 확인이 늦었네요. 답변이 늦어져서 죄송합니다..! :) 에러 상황도 잘 설명해 주시고 해결 방법도 잘 공유해 주신 것 같은데 저도 겪어보질 않은 문제라 좀 더 분석이 필요할 것 같습니다. 개인적인 추측으로는 아마 실습 코드를 작성해 나가는 과정에서 뭔가 타입 추론이 잘못 일어나지 않았을까 싶은데요. 혹시 관련해서 더 궁금하신 거 있으면 알려주세요 :)