From a10216a3921612063ea5debef4ddc8c02164f67c Mon Sep 17 00:00:00 2001 From: sdarbinyan Date: Fri, 5 Jun 2026 17:57:18 +0400 Subject: [PATCH] polling --- src/app/pages/cart/cart.component.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/app/pages/cart/cart.component.ts b/src/app/pages/cart/cart.component.ts index f81fb4c..8a7f879 100644 --- a/src/app/pages/cart/cart.component.ts +++ b/src/app/pages/cart/cart.component.ts @@ -5,7 +5,7 @@ import { FormsModule } from '@angular/forms'; import { CartService, ApiService, LanguageService, AuthService } from '../../services'; import { Item, CartItem } from '../../models'; import { interval, of, Subscription } from 'rxjs'; -import { catchError, switchMap, take } from 'rxjs/operators'; +import { catchError, exhaustMap, switchMap, take, timeout } from 'rxjs/operators'; import { EmptyCartIconComponent } from '../../components/empty-cart-icon/empty-cart-icon.component'; import { TelegramLoginComponent } from '../../components/telegram-login/telegram-login.component'; import { environment } from '../../../environments/environment'; @@ -280,8 +280,9 @@ export class CartComponent implements OnDestroy { this.pollingSubscription = interval(PAYMENT_POLL_INTERVAL_MS) .pipe( take(this.maxChecks), // maximum 36 checks (3 minutes) - switchMap(() => { + exhaustMap(() => { return this.apiService.checkPaymentStatus(this.paymentId()).pipe( + timeout(8000), catchError((err) => { console.error('Error checking payment status:', err); return of(null);