类型 'Promise<Test[]>' 不可分配给类型 Test[],'T 属性 'includes' 在类型 'Promise<Test[]>' 中缺失

Type 'Promise<Test[]>' is not assignable to type Test[], 'T Property 'includes' is missing in type 'Promise<Test[]>'

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);
 }

我需要 return 在下拉菜单的事件处理程序中选择 DropDown,如何修复此转换错误。

从组件而不是服务中解开承诺。使用 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[]
            })
}