Согласно документам или другим документам, они говорят, что оператор do/tap
может использоваться в следующих случаях:
Прозрачно выполнять действия или побочные эффекты, такие как ведение журнала.
Теперь мой пример:
someStream$.pipe(
map(({a1, a2}: {a1: number, a2: string}) => {
this.doSomething(a1, a2);
return {a1, a2};
})
);
В методе doSomething
я делаю какую-то операцию, которая не имеет ничего общего с каким-либо преобразованием значения, полученного из исходного потока.Таким образом, это заставило меня задуматься, это можно было бы рассматривать как побочный эффект, и я мог бы передать его оператору tap
и просто пройти через объект {a1, a2}
впоследствии.Но я все еще не уверен, что это правильное использование оператора tap
.Любое понимание будет оценено!