feat(challenge 7): begin ngrx notification work

This commit is contained in:
thomas laforge
2022-11-22 22:25:27 +01:00
parent d774abf3b1
commit cc1c6e8b26
25 changed files with 596 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
import { Injectable } from '@angular/core';
import { BehaviorSubject, tap, timer } from 'rxjs';
import { randStudent } from '../model/student.model';
import { randTeacher } from '../model/teacher.model';
@Injectable({ providedIn: 'root' })
export class PushService {
private notificationSubject = new BehaviorSubject<any>(undefined);
notification$ = this.notificationSubject.asObservable();
init() {
this.startTeacherNotification();
this.startStudentNotification();
}
private startTeacherNotification() {
timer(0, 4000)
.pipe(tap(() => this.notificationSubject.next(randTeacher())))
.subscribe();
}
private startStudentNotification() {
timer(1000, 3000)
.pipe(tap(() => this.notificationSubject.next(randStudent())))
.subscribe();
}
}