如何解释RxJS除有人用角1.X背景

如何解释RxJS除有人用角1.X背景

问题描述:

根据官方的文档,我可以用一个主题是这样的: docs如何解释RxJS除有人用角1.X背景

不过,我觉得这是一个相当的理论解释。

我在Angular 1.X中有很强的背景。

有人可以通过将它与Angular 1.X中的内容进行比较来描述我,概念“主体”吗?

+1

我不认为它与AngularJS的东西具有可比性。这是新的,我会建议阅读网站上的介绍。 http://reactivex.io/intro.html – koningdavid

$ q.defer()非常接近。
澄清,2等份的代码。

//written with $q.defer() 
function doWorkAsync() { 
    var defer; 
    defer = $q.defer(); 
    getStuff().then(function() { 
     defer.resolve('finished here'); 
    } 
    return defer.promise; 
} 
... 
doWorkAsync().then(showResults); 


//written with subject() 
function doWorkAsync() : Observable<string> { 
    let subject$ = new AsyncSubject<string>(); 

    getStuff().then(function() { 
     subject$.next('finished here'); 
     subject$.complete(); 
    } 
    return subject$; 
} 
... 
doWorkAsync().subscribe(showResults); 

总结:

defer.promise〜=观察到。
defer.resolve & & defer.reject〜= 观察者。

我发现这个解释相当不错:

可观察到的是等,其中的元素及时到达延迟阵列。

您可以使用运营商,如.forEach().map()(和其他人)。

它还具有相似之处Promise,但可以在subscribe()(类似于then()发射0以上的值,但只要求传递给then()一旦回调,而传递给subscribe()回调可以多次调用发射极解析观察到的前)。

又见Angular - Promise vs Observable

主题,在某种程度上,就像使者

王国向使者发送消息,通知其盟友在其边界发生攻击。盟友告诉信使,他们会派出军队帮忙。

回来更技术性的语言:

主题是双向变量。您可以通过subscribe来接收它更新时的更新,并通过调用next并更改变量并传递参数。