mempool/frontend/src/app/services/preload.service.ts
2024-05-22 15:28:27 +07:00

34 lines
857 B
TypeScript

import { Injectable } from '@angular/core';
import { ElectrsApiService } from '../services/electrs-api.service';
import { Subject, debounceTime, switchMap } from 'rxjs';
import { ApiService } from './api.service';
@Injectable({
providedIn: 'root'
})
export class PreloadService {
block$ = new Subject<string>;
blockAudit$ = new Subject<string>;
debounceTime = 250;
constructor(
private electrsApiService: ElectrsApiService,
private apiService: ApiService,
) {
this.block$
.pipe(
debounceTime(this.debounceTime),
switchMap((blockHash) => this.electrsApiService.getBlockTransactions$(blockHash))
)
.subscribe();
this.blockAudit$
.pipe(
debounceTime(this.debounceTime),
switchMap((blockHash) => this.apiService.getBlockAudit$(blockHash))
)
.subscribe();
}
}