→ 비동기 작업에 결과 값에 타입을 자동으로 추론할 수 있는 기능 갖고 있지 않다.
const promise = new Promise<number>((resolve, reject) => {
setTimeout(()=>{
resolve(20);
reject("~~ 때문에 실패");
}, 3000)
});
promise.then((response)=>{
console.log(response * 10); // 20
})
promise.catch((err)=>{
if(typeof err === "string"){
console.log(err);
}
})
interface Post{
id : number;
title: string;
content: string;
}
function fetchPost(): Promise<Post>{
return new Promise((resolve, reject)=>{
setTimeout(() => {
resolve({
id:1,
title: "게시글 제목",
content: "게시글 컨텐츠",
});
}, 3000)
})
}
const postRequest = fetchPost();
postRequest.then((post) =>{
post.id
})