import { Injectable } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { Observable } from 'rxjs'; import { delay, map } from 'rxjs/operators'; const TOTAL_PAGES = 7; export class NewsPost { title: string; link: string; creator: string; text: string; } @Injectable() export class NewsService { constructor(private http: HttpClient) {} load(page: number, pageSize: number): Observable { const startIndex = ((page - 1) % TOTAL_PAGES) * pageSize; return this.http .get('assets/data/news.json') .pipe( map(news => news.splice(startIndex, pageSize)), delay(1500), ); } }