可观察的返回类型问题

时间:2018-06-06 09:15:41

标签: angular

如果HTTP请求应该返回对象数组并且我设置返回类型只是对象而不是对象数组会发生什么。

我设置的返回类型Student不是Student[],会发生什么?任何人都可以解释一下吗?

searchStudent(term: string):Observable<**Student**> 
{
    if(term.trim() === '')return of([] as any);

    return this.http.get<Student>(this.StudentsUrl+'/?name='+term)
}

如果我尝试循环查看结果,为什么它正常工作,即使它不是学生数组?

1 个答案:

答案 0 :(得分:0)

angulartypescript中,验证将仅在编译时完成。它们对于从编辑那里获得建议和错误很有用。

循环结果时,您在订阅下声明了哪种数据类型?是any ??:如果不是,那么当您ng serve时,您应该收到一些错误。

this.myService.searchStudent(term).subscribe((data: any) => {
    // your loop here..
})

应用程序编译成功后,您可以在运行时实际获取任何值的任何值。 例如,如果您有number类型的变量,它可以获得StringArray类型的值,如果您还没有,则无法了解它对该变量进行了任何Number特定操作。