Firebase:firebase.Promise <any>与Rxjs Promise <any>的兼容性

Thi*_*hib 7 rxjs firebase typescript angularfire2 angular

我正在尝试将a firebase.Promise转换为Observable使用angular-cli生成的项目.

在这里它说,firebase.Promise可以兼容Native PromisePromise/A+实施.

但是当我尝试使用Observable.fromPromise()rxjs 的方法时出现错误.

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>'.
Run Code Online (Sandbox Code Playgroud)

它实际上工作,但有错误令人讨厌,任何关于如何以干净的方式避免这个错误的想法?

谢谢.

mar*_*tin 10

在TypeScript中,您可以使用类型转换:

let promise = firebase.whatever();
Observable.fromPromise(<Promise<any>>promise);
Run Code Online (Sandbox Code Playgroud)