代码之家  ›  专栏  ›  技术社区  ›  Koopakiller Geo

“()=>Promise<T>”不能赋值给类型“Promise<T>”

  •  1
  • Koopakiller Geo  · 技术社区  · 7 年前

    我有一个接口:

    export interface ITreeViewItem {
        getChildren: Promise<ITreeViewItem[]>;
        ...
    

    以及它的实现:

    export class MyClass implements ITreeViewItem {
    
      public async getChildren(): Promise<ITreeViewItem[]> {
        let result = await this._fileSystemService.getContents(this.fullPath);
        let items = result.map(x => {
          let y: ITreeViewItem = null;
          return y;
        });
        return items;
      }
      ...
    

    对我来说,这看起来很好,但我得到一个错误:

    键入'()=>“Promise”不能分配给类型“Promise”。

    类型“()=>中缺少属性“then”;“保证”。

    getChildren

    打字脚本2.5.3 .

    1 回复  |  直到 7 年前
        1
  •  2
  •   Titian Cernicova-Dragomir    7 年前

    问题是 getChildren ITreeViewItem ()

    export interface ITreeViewItem {
        getChildren() : Promise<ITreeViewItem[]>;
    }