如何解释RxJS除有人用角1.X背景
问题描述:
根据官方的文档,我可以用一个主题是这样的: docs如何解释RxJS除有人用角1.X背景
不过,我觉得这是一个相当的理论解释。
我在Angular 1.X中有很强的背景。
有人可以通过将它与Angular 1.X中的内容进行比较来描述我,概念“主体”吗?
答
$ 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()
回调可以多次调用发射极解析观察到的前)。
答
主题,在某种程度上,就像使者。
王国向使者发送消息,通知其盟友在其边界发生攻击。盟友告诉信使,他们会派出军队帮忙。
回来更技术性的语言:
主题是双向变量。您可以通过subscribe
来接收它更新时的更新,并通过调用next
并更改变量并传递参数。
我不认为它与AngularJS的东西具有可比性。这是新的,我会建议阅读网站上的介绍。 http://reactivex.io/intro.html – koningdavid