У меня 2 подписки в моем ngOnInit ().
Здесь я могу добавить «Транзакцию» в пул транзакций. При нажатии кнопки «Отправить» активируется подписка transaction$
и добавляется транзакция в пул. Всегда следует добавлять только ОДНУ транзакцию.

Вот так выглядит бассейн в первый раз:

Это то, что дают мне console.logs: так должно быть всегда. После отправки транзакции в каждом из 10 пулов все они должны содержать 1 объект.

После нажатия на одну кнопку номер победителя становится подписанным. Пул от победителя должен быть скопирован в остальные пулы.
А что происходит сейчас, когда я добавляю транзакцию в пул:
Транзакция передается в каждый из 10 пулов. Но вместо того, чтобы толкать 1 раз, в каждом пуле толкают 10 раз.

Вот что показывают console.logs:

this.emitTransactionService.transaction$.subscribe(transaction => {
if (transaction !== false) {
for (let i = 1; i < 11; ++i) {
console.log(this.transactionPools[i].dataSource.data);
this.transactionPools[i].dataSource.data.push(transaction);
console.log(this.transactionPools[i].dataSource.data);
}
console.log('Hallo');
this.sendMessage5();
}
}
);
this.emitTransactionService.winningMiner$.subscribe(winningMiner => {
if (winningMiner !== false) {
for (let i = 1; i < 11; ++i) {
this.transactionPools[i].dataSource = this.transactionPools[winningMiner].dataSource;
}
}
});
Я пробовал несколько вещей, но ни одна из них не работала. Я пытался создать новый MatTableDataSource после каждого нажатия кнопки, но это не сработало.
А также проблема появилась, когда я добавил winningMiner$
подписку