В первом примере ваш касание запускается после того, как ваш http-запрос завершен.
В конечном счете, вы просто позвоните this.startLoading()
, прежде чем запустить http-запрос.
this.startLoading();
this.requestService.get<Checkout>(`check/${orderNumber}`).pipe(
finalize(() => this.endLoading())
).subscribe(() => {
});
Если вы действительно хотите вызвать this.startLoading()
в канале, который вы могли бы вызвать до того, как запрос http начнется, начиная с вашей собственной наблюдаемой:
return of(null).pipe(
tap(() => this.startLoading()),
concatMap(() => this.requestService.get<Checkout>(`check/${orderNumber}`)),
finalize(() => this.endLoading())
).subscribe(() => {
});
Но тогда нет особого смысла при этом.
Так что ваш синтаксис tap
правильный, он просто не выполняется, когда вы думаете, что это должно быть.