我一直在拉我的头发。有人在下面的Angular 2打字稿代码块中弄清楚订户是什么类型的吗?
let obs: Observable<string> = Observable.create((subscriber) => { ... })
创建用于Observables
使用自定义订阅行为创建。
传递给该Observable.create
方法的函数定义了预订Observable时应发生的行为。因此,subscriber
传入的将是实现Observer<T>
接口的对象。
例如,以下代码将创建一个Observable
,当订阅时,将发出两个值,然后完成(对于任何语法错误,我们事先表示歉意,我不使用TypeScript):
let obs: Observable<string> = Observable.create((subscriber) => {
subscriber.next("Hello");
subscriber.next("World!");
subscriber.complete();
});
//Here is a subscriber that we define to subscribe to the Observable
let sub: Subscriber<string> = Subscriber.create(
(x) => console.log(x),
null,
() => console.log("Done"));
//At this point the method you passed to Observable.create will be invoked
obs.subscribe(sub);
//Output:
//Hello
//World!
//Done
请注意,这实际上并不会执行此代码,而是您通过调用obs.subscribe(subscriber)
Or或函数来定义新订户进行订阅时将遵循的行为:obs.subscribe((x) => console.log(x);
在许多情况下,create
不必使用,因为大多数常见事件排放源都有包装器,因此您不必
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句