RxJS Observable элемент из списка наблюдаемых не обновляется - PullRequest
0 голосов
/ 20 ноября 2019

У меня есть 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 голосов
/ 20 ноября 2019

Возвращает метод devicesSubject.asObservable () вместо создания переменной только для чтения.

private devicesSubject = new ReplaySubject<Device[]>();


public device$(ip: string): Observable<Device>{
  return this.devicesSubject.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);
...