在不开始另一个循环的情况下更新订阅的数据

Update data subscribed to without starting another cycle

我正在从 ngrx/store 获取数据 我正在订阅数据

this.store.select(somedataList)
  .subscribe(myList => {

  myList.propertyA = "a different value";

});

订阅并更改 属性 值后,我需要更新商店中的数据。

this.store.dispatch(new UpdateSomeDataList(myList));

一旦我调用 "dispatch",“.subscribe”就会再次启动并创建一个无限循环。

如何在不产生死循环的情况下更新数据?

如果您只需要订阅一次 - 使用 take(1)/first() RxJS 的运算符

this.store.select(somedataList).pipe(take(1))

在这种情况下,您的订阅将在第一个值后退订

订阅同一商店的部分后调用调度 - 这将是循环,因此您需要重新考虑您的数据流