Typescript는 객체의 모든 필드를 선택적으로 만드는 데 도움이되는 Partial<Object>
유형을가집니다. 내가 타이프 라이터 인터페이스를 통해 설명 된 동기 API를약속에 대한 인터페이스에서 필드 유형 바꾸기
interface PromisifyPerson {
getName(): Promise<string>;
getAge(): Promise<number>;
}
:
interface Person {
getName(): string;
getAge(): number;
}
에 :
는에서Person
유형을 변경하는 제네릭 형식
Promisify<Person>
을 만들 수있는 같은 방법으로 가능 내 목표는 모든 인터페이스를 다시 작성하지 않고 비동기 API 버전을 만드는 것입니다. 나는 그것이 몇 가지 작업을 할 수 있지만 당신이 그것을 만들 수 있습니다 확신
interface AsyncApplicationApi {
startApp(): Promise<void>;
readFile(fileName): Promise<string>;
}
왜 Promise에 로컬 값을 래핑 하시겠습니까? 이는 아무런 이유없이 추가 오버 헤드를 추가합니다. –
필자는 Typescript 인터페이스를 통해 API를 설명했습니다. 이것은 데스크톱 응용 프로그램 용 API이며 거의 모든 메서드가 동기식입니다. 이제이 API에 대한 원격 클라이언트를 만들어야하며 기존 인터페이스를 다시 사용하고 싶습니다. 그러나 원격 클라이언트는 API를 비동기 적으로 호출합니다. 그래서 async async API 인터페이스를'type AsyncApplicationAPI = Async '와 같은 것으로 비동기식으로 변환하려고 생각합니다. –
각 속성 대신 API 호출의 모든 값을 반환하지 않는 이유가 혼란 스럽습니다. * (아약스를 통해이 사람의 이름을 알게하십시오 ... 이제 다른 아약스 전화를 통해이 같은 사람의 나이를 갖도록하겠습니다). 왜 '약속이'이 아닌 사람이 필요한가요? –