angular - Observable<any> 不可分配给类型 Observable<any>

标签 angular typescript ionic3 observable

我正在使用 angular 5 和 ionic 3。 我有一个界面:

export interface IAny {
    getDataSource: Observable<any>;
}

实现这个接口(interface)的组件有方法:

getDataSource () {
      return Observable.of(['Item1', 'Item2', 'Item3'] as any)
 };

这个方法应该返回不同类型的数据源,有时是简单的字符串数组,有时是对象数组,有时是简单的对象。

有可能吗?

最佳答案

这是可能的,但您不需要将数组转换为 any .

如果不这样做,在您的示例中,您的函数类型为 () => Observable<string> ,与 () => Observable<any> 兼容的类型,这是接口(interface)中定义的方法的类型。

我的意思是,如果你有:

let a: () => Observable<any>;
let b: () => Observable<string>;

然后你可以这样做:

a = b;

因为 any与 TypeScript 中的任何类型兼容。

关于angular - Observable<any> 不可分配给类型 Observable<any>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49401177/

相关文章:

javascript - 防止在自定义事件后触发点击事件

angular - *ngFor 在 Angular 2 中失败

reactjs - 修改状态对象而不调用setState,而是调用对象方法

typescript - 无法匹配任何路由 : '' NativeScript, TypeScript 和 Angular2

angular - ionic 3 EmailValidator 用法

android - 将 Ionic2 CLI 更新到 Ionic3 后,由于 facebook 插件,Cordova 构建失败

Angular 2组件多态性

javascript - Angular 2 组件和 Bootstrap css 网格放置

angular - 我的 sidenav 不推送内容,它克服了它

ionic3 - 覆盖 ionic3 ionic 图标的 aria-label