首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Zip可重放的RxJS可观测数据

Zip可重放的RxJS可观测数据
EN

Stack Overflow用户
提问于 2017-02-15 11:34:12
回答 1查看 44关注 0票数 1

我想以类似于BehaviorSubject的方式组合几个可重放的不完全可观测值,它们保存最后一个值(在本例中是zip ),但是当任何源可观测值发出时,结果可观测值就会发出一个值。

这是小提琴

代码语言:javascript
运行
复制
const foo$ = new Rx.BehaviorSubject('foo');
const bar$ = new Rx.BehaviorSubject('bar');

setTimeout(() => foo$.next('foo 1'), 1000)
setTimeout(() => bar$.next('bar 1'), 2000)

const foobar$ = Rx.Observable.zip(foo$, bar$);

foobar$.subscribe(([foo, bar]) => console.log({ foo, bar }));

由于zip操作符的工作方式,上面的代码将输出:

{foo:"foo",bar:"bar"} {foo:"foo 1",bar:"bar 1"}

而我希望它是

{foo:"foo",bar:"bar"} {foo:"foo 1",bar:"bar"} {foo:"foo 1",bar:"bar 1"}

这是如何做到的呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-15 11:46:14

使用combineLatest()操作符:

代码语言:javascript
运行
复制
const foobar$ = Rx.Observable.combineLatest(foo$, bar$);

您的最新演示:https://jsfiddle.net/d1wo1usx/

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42248209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档