2016-09-29 1 views
6

Я пытаюсь преобразовать firebase.Promise в файл Observable, используя проект, сгенерированный angular-cli.Firebase: firebase.Promise <any> Совместимость с Rxjs Promise <any>

Here говорится, что firebase.Promise совместимы с Native Promise и Promise/A+ осуществления.

Однако я получаю сообщение об ошибке, когда я пытаюсь использовать метод rxjs Observable.fromPromise().

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>'. 

Это действительно работает, но с ошибкой вызывает раздражение, любое представление о том, как избежать этой ошибки в чистом виде?

Спасибо.

+0

вы используете машинопись? – martin

+0

Да, я использую TS – Thib

ответ

10

В машинописном вы можете использовать тип отливку:

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