У меня есть сервис, который связывается со сторонним сервисом.Сервис выполняется несколькими компонентами в приложении.Я хотел бы получать уведомления в универсальном компоненте уведомлений всякий раз, когда происходит сбой службы (функция «DoSomethingWhenFails»).В настоящее время ссылка на общий компонент уведомления указана в app.component, и служба внедряется в этот компонент.
Я думал о чем-то вроде eventEmitter, который будет генерироваться в службе, но я не знаком с этимтип шаблона, когда сервис вводится.Каков наилучший способ сделать это?Смотрите мой код:
app.component.html:
<notify #messageBox ></notify>
Компонент:
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent {
@ViewChild('messageBox') messageBox : notify;
constructor(private someService: SomeService )
общий компонент уведомления:
export class notification
{
ShowNotificationWhenTheServiceFails()
{
DoSomethig();
}
}
Услуга:
@Injectable({
providedIn: 'root'
})
export class Service{
doSomething(): Observable<any> {
return this.http.get<AA>(URL, options).pipe(
connectToThirdPArtyService();
}),
DoSomethingWhenFails();
);
}