为什么我们想要一个特定类型的 Observable
Why would we want to have an Observable of a Specific Type
//declare observable
somenums: Observable<number[]>
//instantiate the oberservale
somenums: new Observable<number[]>(somefunc)
为什么我要声明一个特定类型的可观察对象。
将 observable 作为 number[] 类型是否表示可观察将 return 一个 number[] 给观察者?
在实例化期间和实例化之后如何将数据流式传输到可观察对象?
以及在这种情况下观察者将如何处理流。
键入 Observables
可观察对象的类型告诉您传递给观察者的 next
回调函数的对象的类型。最重要的是,Observables 可以发出 complete
或 error
事件(不能同时发出)。
输入 observables 的原因与输入 Array
或 Function
的 return 值的原因相同。这样您的 IDE、解释器、编译器等可以帮助您确保您的程序按照您的意愿执行。
使用 Observables(基本)
// declare observable
somenums: Observable<number[]>
// instantiate Observable
// (from scratch)
somenums: new Observable<number[]>(observer => {
observer.next([1,2,3]);
observer.next([7,6,5]);
observer.next([4,4,4]);
observer.complete();
return {
unsubscribe: () => {/*do nothing*/}
}
});
// instantiate the same observable
// (from RxJS creation operator)
somenums: from([
[1,2,3],
[7,6,5],
[4,4,4]
]);
// subscribe to observable, print emissions to the console
somenums.subscribe(console.log);
// Append the value 4 to each array of numbers, then print to the console
somenums.pipe(
map(x => ([...x, 4]))
).subscribe(console.log);
//declare observable
somenums: Observable<number[]>
//instantiate the oberservale
somenums: new Observable<number[]>(somefunc)
为什么我要声明一个特定类型的可观察对象。 将 observable 作为 number[] 类型是否表示可观察将 return 一个 number[] 给观察者? 在实例化期间和实例化之后如何将数据流式传输到可观察对象? 以及在这种情况下观察者将如何处理流。
键入 Observables
可观察对象的类型告诉您传递给观察者的 next
回调函数的对象的类型。最重要的是,Observables 可以发出 complete
或 error
事件(不能同时发出)。
输入 observables 的原因与输入 Array
或 Function
的 return 值的原因相同。这样您的 IDE、解释器、编译器等可以帮助您确保您的程序按照您的意愿执行。
使用 Observables(基本)
// declare observable
somenums: Observable<number[]>
// instantiate Observable
// (from scratch)
somenums: new Observable<number[]>(observer => {
observer.next([1,2,3]);
observer.next([7,6,5]);
observer.next([4,4,4]);
observer.complete();
return {
unsubscribe: () => {/*do nothing*/}
}
});
// instantiate the same observable
// (from RxJS creation operator)
somenums: from([
[1,2,3],
[7,6,5],
[4,4,4]
]);
// subscribe to observable, print emissions to the console
somenums.subscribe(console.log);
// Append the value 4 to each array of numbers, then print to the console
somenums.pipe(
map(x => ([...x, 4]))
).subscribe(console.log);