RXJS,Observable.create 和 new Observable 有什么区别?
RXJS, What's the difference between Observable.create and new Observable?
在模板中,我为 Observable 设置了一个异步管道。
*ngFor="let checkIn of checkIns | async"
在组件中,this.checkIns = this.service.getCheckIns()
。
在服务中,我得到:
getCheckIns(): Observable<any> {
return new Observable((observer) => {
observer.next(...)
}
}
我注意到如果我将 new Observable()
换成 Observable.create()
,没有区别:
getCheckIns(): Observable<any> {
return Observable.create((observer) => {
observer.next(...)
}
}
这是正确的,这两个是同义词。
查看源代码:https://github.com/ReactiveX/rxjs/blob/master/src/Observable.ts#L56
静态方法 Observable.create(...)
只是在后台调用 new Observable(...)
。
在模板中,我为 Observable 设置了一个异步管道。
*ngFor="let checkIn of checkIns | async"
在组件中,this.checkIns = this.service.getCheckIns()
。
在服务中,我得到:
getCheckIns(): Observable<any> {
return new Observable((observer) => {
observer.next(...)
}
}
我注意到如果我将 new Observable()
换成 Observable.create()
,没有区别:
getCheckIns(): Observable<any> {
return Observable.create((observer) => {
observer.next(...)
}
}
这是正确的,这两个是同义词。
查看源代码:https://github.com/ReactiveX/rxjs/blob/master/src/Observable.ts#L56
静态方法 Observable.create(...)
只是在后台调用 new Observable(...)
。