类型 'Promise<Test[]>' 不可分配给类型 Test[],类型"承诺<测试[]中缺少 T 属性'include'>



test.component.ts:

export class TestcaseComponent implements OnInit {
  selectedDrpDown: Testcase[];
  //event handler for the select element's change event
  selectChangeHandler (event: any) {
    if(event.target.value == "ALL") {
      this.selectedDrpDown = this.getTest(); // error is coming here
    }
  }
}

data.service.ts:

// Get all Test
getTest(): Promise<Test[]> {
  return this.http.get(this.url)
           .toPromise()
           .then(response => response.json() as Test[])
           .catch(this.handleError);
 }

我需要在下拉列表的事件处理程序中返回 selectedDrpDown,如何修复此转换错误。

组件而不是服务中解开承诺。 使用map函数将响应转换为json

getTest(): Promise<Test[]> {
return this.http.get(this.url)
           .toPromise()
           .catch(this.handleError);
}
selectedDrpDown: Test[];  
if(event.target.value == "ALL"){
           this.getTest()
           .then(response => {
                 this.selectedDrpDown = response as Test[]
            })
}

相关内容

最新更新