Questions tagged «rxjs5»

21
在RxJs 5中共享Angular Http网络调用结果的正确方法是什么?
通过使用Http,我们调用了一个方法,该方法进行网络调用并返回可观察到的http: getCustomer() { return this.http.get('/someUrl').map(res => res.json()); } 如果我们采取这种可观察的方法,并向其添加多个订阅者: let network$ = getCustomer(); let subscriber1 = network$.subscribe(...); let subscriber2 = network$.subscribe(...); 我们要做的是确保这不会引起多个网络请求。 这似乎是一种不寻常的情况,但实际上非常普遍:例如,如果调用者订阅了可观察对象以显示错误消息,并使用异步管道将其传递给模板,则我们已经有两个订阅者。 在RxJs 5中这样做的正确方法是什么? 即,这似乎工作正常: getCustomer() { return this.http.get('/someUrl').map(res => res.json()).share(); } 但这是RxJs 5中惯用的方式吗?还是我们应该做其他事情呢? 注意:根据Angular 5 new HttpClient,.map(res => res.json())所有示例中的部分现在都已无用,因为默认情况下现在假定JSON结果。

3
最终可以观察到订阅
根据该条款,onComplete和的onError功能subscribe是互斥的。 表示onError或onComplete事件会在我的网站上触发subscribe。 我有一个逻辑块,无论收到错误还是成功完成信息准备工作,都需要执行该逻辑块。 我finally在python中寻找了类似的东西,但是我发现的只是finally需要附加到我创建的可观察对象上。 但是我只想在订阅时以及流结束后(无论成功还是出错)执行该逻辑。 有任何想法吗?
105 javascript  rxjs  rxjs5 

4
rxJS中的管道是什么
我想我有基本概念,但是有些模糊之处 因此,通常这就是我使用可观察的方式: observable.subscribe(x => { }) 如果要过滤数据,可以使用以下方法: import { first, last, map, reduce, find, skipWhile } from 'rxjs/operators'; observable.pipe( map(x => {return x}), first() ).subscribe(x => { }) 我也可以这样做: import 'rxjs/add/operator/map'; import 'rxjs/add/operator/first'; observable.map(x => {return x}).first().subscribe(x => { }) 所以我的问题是: 有什么不同? 如果没有区别,为什么功能管道存在? 为什么这些功能需要不同的导入?
103 angular  rxjs  rxjs5 

10
如何从内部具有Observable订阅的函数返回值?
我不知道如何从Observable中提取值以由存在Observable的函数返回。我只需要从中返回一个值,别无其他。 当前版本有效 function getValueFromObservable() { this.store.subscribe( (data:any) => { console.log(data) } ) } getValueFromObservable() 我需要这个工作,函数返回值,然后: function getValueFromObservable() { this.store.subscribe( (data:any) => { return data } ) } console.log(getValueFromObservable()) 我在这里做错了什么?



2
.unsubscribe与.take(1)之间的区别
我想知道,订阅后立即使用.take(1)和.unsubscribe何时unsubscribe使用之间在性能上是否有任何区别: var observable = Rx.Observable.interval(100); 第一: var subscription = observable.subscribe(function(value) { console.log(value); }).unsubscribe(); 第二: var subscription = observable.take(1).subscribe(function(value) { console.log(value); }); 关于它的任何想法都会对性能产生不同的影响吗?
72 rxjs  observable  rxjs5 

1
RxJS中的链接可观察对象
我正在学习RxJS和Angular2。比方说,我有一个带有多个异步函数调用的promise链,这取决于前一个的结果,如下所示: var promiseChain = new Promise((resolve, reject) => { setTimeout(() => { resolve(1); }, 1000); }).then((result) => { console.log(result); return new Promise((resolve, reject) => { setTimeout(() => { resolve(result + 2); }, 1000); }); }).then((result) => { console.log(result); return new Promise((resolve, reject) => { setTimeout(() => { resolve(result + 3); …

4
冷热观测:是否存在“热”和“冷”运算符?
我回顾了以下SO问题: 什么是冷热观测? 总结一下: 当一个冷的可观察对象有一个观察者来消耗它们时,它会发出它的值,即观察者接收到的值的顺序与订阅时间无关。所有观察者将使用相同的值序列。 一个热的可观察对象发出的值与其订阅无关,即观察者收到的值是订阅时间的函数。 但是,我觉得热还是冷仍然是造成混乱的根源。所以这是我的问题: 默认情况下,所有rx观测值是否都是冷的(主题除外)? 我经常读到事件是热可观察物的典型隐喻,但我也读到它Rx.fromEvent(input, 'click')是冷可观察物(?)。 是否有Rx运算符将冷的可观察物转换为热的可观察物(publish和share除外)? 例如,它如何与Rx运算符一起使用withLatestFrom?让我们cold$在某处订阅一个冷的观察。会sth$.withLatestFrom(cold$,...)很热吗? 或者,如果我sth1$.withLatestFrom(cold$,...), sth2$.withLatestFrom(cold$,...)同时订阅sth1和sth2,那么我是否总是会看到相同的值sth? 我以为Rx.fromEvent可以创建冷的可观察物,但事实并非如此,如答案之一所述。但是,我仍然对这种行为感到困惑:https : //codepen.io/anon/pen/NqQMJR? editors =101。不同的订阅从相同的可观察值中获得不同的值。不是click事件共享?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.