Firebase:firebase.Promise<any> 与 Rxjs Promise<any> 的兼容性
Firebase : firebase.Promise<any> compatibility with Rxjs Promise<any>
我正在尝试使用 angular-cli 生成的项目将 firebase.Promise
转换为 Observable
。
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>'.
它确实有效,但有错误很烦人,关于如何以干净的方式避免此错误的任何想法?
谢谢。
在 TypeScript 中,您可以使用类型转换:
let promise = firebase.whatever();
Observable.fromPromise(<Promise<any>>promise);
我正在尝试使用 angular-cli 生成的项目将 firebase.Promise
转换为 Observable
。
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>'.
它确实有效,但有错误很烦人,关于如何以干净的方式避免此错误的任何想法?
谢谢。
在 TypeScript 中,您可以使用类型转换:
let promise = firebase.whatever();
Observable.fromPromise(<Promise<any>>promise);