激活订阅后如何将操作项添加到订阅中?

时间:2020-01-09 16:33:44

标签: angular typescript google-cloud-firestore rxjs

我正在尝试以角度管理服务来管理数据库,问题是我试图将订阅存储在服务类而非组件类上,因此它们全都位于同一位置,但是据我了解,需要在激活订阅时定义订阅的回调。激活订阅后,有什么方法可以添加到订阅中?我看着.add()运算符,但这似乎仅在取消订阅后才起作用。

编辑
以下是我能想到的最佳功能;它可以工作,但是看起来并不优雅甚至不是最佳实践

function revealTile(table, tileNumber) {
  const nextTable = table.slice(); // create a copy
  nextTable[tileNumber] = 1; // update the copy
  return nextTable; // return the copy
}

let table = [0,0,0,0];

table = revealTile(table, 1);
console.log(table);

table = revealTile(table, 2);
console.log(table);

table = revealTile(table, 0);
console.log(table);

table = revealTile(table, 3);
console.log(table);

1 个答案:

答案 0 :(得分:1)

我通过观看一个完全无关的视频得到了答案,从角度上讲,答案是根本不订阅,并从服务返回一个可观察的对象,最后使用异步管道将可观察的对象解包