Typescript Observable.create((subscriber)=>;{…})中的订阅服务器是什么类型的
这件事我一直很紧张。有人知道下面Angular 2 typescript代码块中的订阅者是什么类型的吗Typescript Observable.create((subscriber)=>;{…})中的订阅服务器是什么类型的,typescript,angular,rxjs,Typescript,Angular,Rxjs,这件事我一直很紧张。有人知道下面Angular 2 typescript代码块中的订阅者是什么类型的吗 let obs: Observable<string> = Observable.create((subscriber) => { ... }) let obs:Observable=Observable.create((订户)=>{…}) 有人知道下面Angular 2 typescript代码块中的订阅者是什么类型的吗 无论何时可用,它都是下一个值。请参阅:onNe
let obs: Observable<string> = Observable.create((subscriber) => { ... })
let obs:Observable=Observable.create((订户)=>{…})
有人知道下面Angular 2 typescript代码块中的订阅者是什么类型的吗
无论何时可用,它都是下一个值。请参阅:
onNext
是功能(订户)=>
。我个人称之为(next)=>
Create用于创建具有自定义订阅行为的可观察对象
传递给Observable.create
方法的函数定义订阅Observable时应发生的行为。因此,传入的subscriber
将是实现Observer
接口的对象
例如,下面的代码将创建一个可观察的
,当订阅时,将发出两个值,然后完成(对于任何语法错误,我不使用TypeScript,请提前道歉):
let obs:Observable=Observable.create((订户)=>{
订户。下一个(“你好”);
订户。下一个(“世界!”);
subscriber.complete();
});
//这里是一个订阅者,我们定义它来订阅可观察的对象
let sub:Subscriber=Subscriber.create(
(x) =>控制台日志(x),
无效的
()=>console.log(“完成”);
//此时将调用传递给Observable.create的方法
obs.订阅(sub);
//输出:
//你好
//世界!
//完成
请注意,这实际上并不执行此代码,而是定义新订户通过调用订阅时将遵循的行为
obs.subscribe(订户)
或具有以下功能:
obs.subscribe((x)=>console.log(x);
在许多情况下,create
的使用是不必要的,因为大多数常见的事件发射源都有包装,所以你没有嗨,保罗,谢谢你的详细解释。但是我似乎找不到观察者界面。另外,我也不知道t会是什么。所以我想我不得不将观察者保留为“任何”现在。感谢您的帮助!;0)问候,@ZorthgoSubscriber
实现了Observer
界面
在本例中为string
,因为这是您正在使用的类型。谢谢Paul。但是我可以从Angular2库中导入Observable,但是似乎没有任何Observator对象可以导入,只是为了留下笔记。最后,我找不到观察者接口,所以我决定使用EventEmitter。似乎很好用。:)从“rxjs”:“5.0.0-beta.6”
看来Observer
将是正确的类型。
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