RxJS当数组(映射)数据发生变化时如何更新?

时间:2018-01-09 20:06:55

标签: javascript rxjs

我在地图上使用from有一个简单的RxJS observable:

在订阅observable后,当我为地图设置新的键/值时,没有console.logs。当数据映射发生变化时,如何让observable更新,以便观察者将console.log更改?

我在这里遗漏了什么吗?我已经尝试过阅读文档和观看视频,但还没有找到有关如何实现这一目标的任何数据。感谢

const data = new Map([['item1', value1], ['item2', 'value2'], ['item3', value3]]);
const data$ = Rx.Observable.from(data);
data$.subscribe(
    (x) => {
        console.log('OBSERVABLE X');
        console.log(x);
    },
    (err) => {
        console.log('OBSERVABLE ERR');
        console.log(err);
    },
    (complete) => {
        console.log('OBSERVABLE COMPLETE');
        console.log(complete);
    },
);
data.set('item3', 'value3');

1 个答案:

答案 0 :(得分:1)

你的观察结果是冷的,你需要热销才能达到你想要的功能。

Hot observable通常是主题,您需要将其转换为主题,然后尝试在地图中添加另一个值并查看,理想情况下应该可以使用。

  const subject = new Subject();
  data$.subscribe(subject)