通过服务方法调用调用方法时出现"Type 'Promise<IResourceWeightage>' is not assignable to type 'IResourceWeig



我在用于获取ResourceWeightage详细信息的服务之一中使用了此方法:

getResourceLevelProgress(learning_node_id: number): Promise<IResourceWeightage> {
return this.getOverallProgressData()
  .then(learning_nodes => learning_nodes.find(node => node.learning_node_id === learning_node_id).resource_weightage);

}

以下是我访问此方法以获取ResourceWeightage详细信息的组件中的方法:

声明:

resourceWeightage: IResourceWeightage;

叫:

this.resourceWeightage = this.progressUpdateService.getResourceLevelProgress(this.learningNodeId);

我在访问此变量时收到此错误:

类型"承诺"不能分配给IResourceWeightage类型。

那是因为getResourceLevelProgress返回了一个承诺。

您可以将resourceWeightage的声明更改为:

resourceWeightage: Promise<IResourceWeightage>;

或者将调用更改为:

this.progressUpdateService.getResourceLevelProgress(this.learningNodeId).then(rw => this.resourceWeightage = rw);

最新更新