【问题标题】:Rxjs: How streams are createdRxjs:如何创建流
【发布时间】:2016-06-01 12:23:34
【问题描述】:

在理解 Observable、Observer 和 subscribe 的过程中,我刚刚来到这个例子,无法理解这个例子,我很困惑

var observable = Rx.Observable.create(
 function(observer) {     
 observer.onNext('Simon');
 observer.onNext('Jen');  
 observer.onNext('Sergi');
 observer.onCompleted();  // We are done }
);

这里发生了什么?我们在这里创建的观察者流是什么?但是观察者是在使用 subscribe 方法订阅流时从流中接收数据的人,并且有 3 个方法 onNext、complete 和 error。

也给我举个例子。我们在其中创建了一个流、一个观察者(独立)以及这个独立的观察者如何订阅一个可观察对象。

【问题讨论】:

    标签: javascript reactive-programming rxjs observable observers


    【解决方案1】:

    文档是您了解可观察对象及其机制的入口。现在的事实是,它有时会非常密集。我建议你看看这里:

    对您的问题的简短回答是:

    • Rx.Observable.create 返回一个对象(一个可观察对象),它实现了一个接口(在文档中描述),其中包括一个subscribe 函数。当您像在.subscribe(observer) 中那样执行subscribe 函数时,您作为Rx.Observable.create 的参数传递的工厂函数将使用该observer 参数执行。在您的情况下,Simon 等值将被推送到观察者(它实现了包括onNextonCompleted 等的观察者接口)。
    • 通常使用重载形式.subscribe(function yournamehere(){...})。因此,观察者是从该函数内部创建的,其 onNext 是您传递的函数,其 onErroronCompleted 是默认值。
    • 关于您问题的第二部分,请参阅。文档https://github.com/Reactive-Extensions/RxJS/blob/master/doc/api/core/observer.md

    【讨论】:

    • 我一直在阅读文档,但我并不理解:“Observer 类型的 Create 运算符,它从指定的 OnNext、OnError 和 OnCompleted 操作委托创建并返回观察者。”从您的第一个给定链接
    • 很抱歉,我无法为您提供更多帮助。这句话很清楚,旁边有一个例子。我只能重复那里的内容。
    • urmm 您可以根据我的理解来塑造我的想法,无论是对还是错,创建接受函数并创建函数返回的数据流,在我的情况下(问题中的流)作者而不是提供返回一些数据的函数,而是使用带有 onNext 方法的函数(观察者可能?)为什么有 onNext()
    猜你喜欢
    • 2020-10-12
    • 2016-09-06
    • 1970-01-01
    • 2020-07-27
    • 1970-01-01
    • 2021-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多