'Promise'不能分配给'Promise'错误

时间:2017-02-08 19:22:58

标签: angular typescript angular-promise

我是Angular 2和Angular的新手,我遇到了与promises相关的问题。

我有这个文件名module.service.ts

import { Injectable } from '@angular/core';
import { Module } from './module.entity';

@Injectable()
export class ModuleService {
  getModules(): Promise<Module[]> {
    // TODO: Switch to a real service.
    return Promise.resolve([{
      uiid: "text",
      type: "ahahaha"
    }]);
  }
}

包含此代码的调用module.entity:

export class Module {
  uuid: string = '00000';
  type: string = 'TextComponent';
  // Maps ModuleSlots to modules
  submodules: {[key: string]: [Module]} = {};
}

但是运行npm starts会将此错误返回给我:

  

输入'Promise&lt; {uiid:string; type:string; } []&GT;”不能转让给   输入'承诺'。输入'{uiid:string; type:string; } []”   不能分配给'Module []'类型。       输入'{uiid:string; type:string; }'不能分配给'Module'类型。         类型'{uiid:string;}中缺少属性'uuid'; type:string; }”。

有人能给我一些关于什么不起作用的暗示吗?

1 个答案:

答案 0 :(得分:1)

错误消息已经为您提供了提示

Property 'uuid' is missing in type '{ uiid: string; type: string; }'

声明:

uuid: string = '00000';
 ^^

值:

uiid: "text",
 ^^