Skip to main content

Що робить tap()?

tap() в RxJS - це оператор, який дозволяє виконувати побічні дії, не змінюючи сам потік.


Простий приклад:

ts
import { of } from 'rxjs'; import { tap, map } from 'rxjs/operators'; of(1, 2, 3) .pipe( tap(val => console.log('Отримано:', val)), map(val => val * 10) ) .subscribe(result => console.log('Результат:', result));

Виведе:

javascript
Отримано: 1 Результат: 10 Отримано: 2 Результат: 20 Отримано: 3 Результат: 30

Навіщо потрібен tap():

  • Для логів і відладки
  • Для виклику методів (наприклад, показати/сховати індикатор завантаження)
  • Для збереження в localStorage, відправки аналітики тощо
  • Не змінює значення потоку, просто спостерігає

Де використовують:

ts
this.http.get('/api/data') .pipe( tap(() => this.isLoading = true), tap(data => console.log('Дані прийшли:', data)), tap(() => this.isLoading = false) ) .subscribe();

Висновок:

tap() - це як дзеркало збоку потоку: бачиш, що відбувається, можеш щось зробити, але не втручаєшся в самі дані.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.