可观察列表中的RxJS可观察项目未更新

时间:2019-11-20 18:09:35

标签: angular rxjs observable

我有observable list个项目,它们是通过调用subject通过next手动设置的。
从该列表中,我映射了一个observable item,当observable list获取包含此过滤项的数据时,我希望它会被更新,但事实并非如此。
这是否应该像那样工作?

private devicesSubject = new ReplaySubject<Device[]>();
readonly devices$ = this.devicesSubject.asObservable();
public device$(ip: string): Observable<Device>{
  return this.devices$.pipe(map(devices => {
    return devices.find(device => device.getIp() === ip);
  }));
}

// This never gets triggered
this.device$("127.0.0.1").subscribe(device => console.log(`${device.ip}`);

// When the devices are available
devicesSubject.next(serverDevices);

1 个答案:

答案 0 :(得分:0)

返回方法内部的devicesSubject.asObservable()而不是创建只读变量。

Name