Angular8 下面的语法有什么不同吗?

Angular8 下面的语法有什么不同吗?,angular8,Angular8,我是新来的 #1:我正在使用angular进行http调用,遇到了Observable,发现下面2种语法,当通过组件调用时,它们给出了相同的结果 正如您在第一篇文章中所看到的,我已经将类型定义为Observable,并从rxjs中导入了Observable,而在第二篇文章中,这是在没有任何类型声明或导入的情况下工作的 #2我需要知道两者都是相同的,只是语法不同?或者两者都不同 服务台 import {Injectable} from "@angular/core"; import {HttpCl

我是新来的

#1:我正在使用angular进行http调用,遇到了Observable,发现下面2种语法,当通过组件调用时,它们给出了相同的结果

正如您在第一篇文章中所看到的,我已经将类型定义为Observable,并从rxjs中导入了Observable,而在第二篇文章中,这是在没有任何类型声明或导入的情况下工作的

#2我需要知道两者都是相同的,只是语法不同?或者两者都不同

服务台

import {Injectable} from "@angular/core";
import {HttpClient} from "@angular/common/http"
import { Observable } from 'rxjs';
@Injectable({
    providedIn : "root"
})

export class ObservableService{
    constructor(private http : HttpClient){}

    getEmployeeDetail(id) : Observable<any>{            
        return this.http.get("http://dummy.restapiexample.com/api/v1/employee/"+id);        
    }
}
import {Injectable} from "@angular/core";
import {HttpClient} from "@angular/common/http"
@Injectable({
    providedIn : "root"
})

export class ObservableService{
    constructor(private http : HttpClient){}

    getEmployeeDetail(id){            
        return this.http.get("http://dummy.restapiexample.com/api/v1/employee/"+id);        
    }
}

它们的功能完全相同,实际上两者都将返回一个可观察的,但在第一种情况下,您显式地声明了方法的返回类型,而在第二种情况下,您不是

这实际上是由于打字脚本,而不是角度。检查文件

当您没有显式声明返回类型时,typescript不会抱怨的原因是类型推断。对此有一个相当好的解释,转载如下:

函数返回类型

返回类型由返回语句推断,例如,推断以下函数以返回数字

函数添加(a:编号,b:编号){
返回a+b;
}

这是类型自下而上的一个示例


两者都可以工作,但是与其他事件处理、异步编程和处理多个值的技术相比,可观测性提供了显著的优势。参考译文:谢谢你的回答。你能帮我解决下面的问题吗