Javascript 什么是<;R | T>;在可观察范围内<;R | T>;你喜欢角形的吗?
有时,我会遇到类似的代码片段:Javascript 什么是<;R | T>;在可观察范围内<;R | T>;你喜欢角形的吗?,javascript,angular,typescript,Javascript,Angular,Typescript,有时,我会遇到类似的代码片段: public getIdList():Observable<R|T>{ return this.http.get(`http://v3.xxx.com:8000/api/onelist/idlist`) .map(this.handleSuccess) .catch(this.handleError) } public getIdList():可观察{ 返回this.http.get(`http://v3.xxx.
public getIdList():Observable<R|T>{
return this.http.get(`http://v3.xxx.com:8000/api/onelist/idlist`)
.map(this.handleSuccess)
.catch(this.handleError)
}
public getIdList():可观察{
返回this.http.get(`http://v3.xxx.com:8000/api/onelist/idlist`)
.map(此.handleSuccess)
.接住(这个.把手错误)
}
或:
public getIdList():可观察{
返回this.http.get(`http://v3.xxx.com:8000/api/onelist/idlist`)
.map(此.handleSuccess)
.接住(这个.把手错误)
}
有人能解释一下
的作用吗?R | T
中的可观察的
是一种联合类型。这意味着可观察的类型是R
或T
对于Observable
,Observable返回类型为T
的数据。这就是所谓的。例如,Observable
表示它返回一个类型为number
的数据,编译器可以检测它,并在以后的部分中使用该类型
通用类型
interface A<T> {
prop: T
}
接口A{
道具:T
}
我用它
const obj1: A<number> = { prop: 4 }
const obj1:A={prop:4}
这将把obj1
的类型设置为A
A
是泛型类型,并将其类型用于prop
属性。将类型设置为number
只需将传递的number
类型放入prop
这些类型都是泛型类型
最明显的例子是firebase:当您请求一个集合时,您可以使用该集合:
this.firestore.collection<User>('users')
然后,变量可以是字符串或数字。它对于intellisense非常有用,在Javascript中也是可能的,因为变量不是类型化的
this.firestore.collection<User>('users')
collection<T>(collectionName: string) { ... }
private ID: string | number;