3
순수한 자바 스크립트 대신 TypeScript를 사용하고자하는 새로운 프로젝트를 시작했습니다. Bluebird를 타사 라이브러리와 함께 사용하는 데 어려움을 겪고 있습니다.Bluebird와 es6는 타이프 스크립트로 약속합니다
는 다음의 예를 참조하십시오
import * as Promise from 'bluebird'
private requestPlayerProfile(playerTag:string):Promise<IPlayerProfile> {
const requestOptions = Object.create(this.options)
return this.limiter.schedule(request, requestOptions)
}
문제 : limiter
제 3 자 라이브러리의 인스턴스이며, 내가 나머지 블루 버드 약속을 사용하고있는 동안 limiter.schedule는 분명히 네이티브 약속을 반환 내 신청서의 그러한 사건을 어떻게 적절하게 처리 할 수 있습니까?
[ts] 유형 '약속'을 '블루 버드'유형에 지정할 수 없습니다. 속성 'then'의 유형은 호환되지 않습니다. 입니다.
사용중인 라이브러리의 약속 유형에 따라 다릅니다. 바닐라 약속을 반환하면 하나에서 다른 것으로 수동으로 매핑하거나 단순히 bluebirds 대신 기본 약속을 사용할 수 있습니다. –
바닐라 약속이란 무엇입니까? 내 생각에 ES6의 기본 약속을 반환한다고 생각하며, 본래의 약속을 사용하면 말 그대로 어디에서나 기본 약속을 사용해야합니까? 따라서 requestPlayerProfile 함수를 호출하는 모든 경로/함수는 Bluebird에서도 작동해야합니다. 네이티브와 블루 버드 약속을 항상 혼합해야한다면 블루 버드 사용을 정말로 확신하지 않습니까? – kentor