2016-09-29 1 views
6

Ich versuche, eine firebase.Promise in eine Observable mit einem Projekt von eckigen-Cli erstellt zu konvertieren.Firebase: Firebase.Promise <any> Kompatibilität mit Rxjs Promise <any>

Here es wird gesagt, dass firebase.Promise mit Native Promise und Promise/A+ Implementierung kompatibel sind.

Allerdings bekomme ich einen Fehler, wenn ich versuche, die Observable.fromPromise() Methode von RXJS zu verwenden.

Argument of type 'firebase.Promise<any>' is not assignable to parameter of type 'Promise<any>'.                
    Types of property 'then' are incompatible.                             
    Type '(onResolve?: (a: any) => any, onReject?: (a: Error) => any) => Promise<any>' is not assignable to type '{ <TResult1, TResult2>(onfulfilled: (value: 
any) => TResult1 | PromiseLike<TResult1>, onrejected:...'.                          
     Type 'firebase.Promise<any>' is not assignable to type 'Promise<any>'. 

Es funktioniert tatsächlich, aber Fehler zu haben ist nervig, irgendeine Idee darüber, wie man diesen Fehler sauber vermeidet?

Danke.

+0

Sie verwenden Typoskript? – martin

+0

Ja ich benutze TS – Thib

Antwort

10

In Typoskript können Sie Typumwandlung verwenden:

let promise = firebase.whatever(); 
Observable.fromPromise(<Promise<any>>promise);