APIメソッドが呼び出されるたびにメッセージを送信するメッセージサービスがあります。アイデアは、私のアプリの他のすべてのコンポーネントがサービスからメソッドを呼び出してエラーメッセージまたは成功メッセージを表示できるようにすることです。observableに値を追加するまでにx秒待つ
import { Injectable } from '@angular/core';
import { MessagingComponent } from ',/messaging.component';
import { ReplaySubject } from 'rxjs';
@Injectable()
export class MessageService {
public messages$: ReplaySubject<Object> = new ReplaySubject<Object>(1);
constructor() {
this.messages$.next({
message: '',
type: null
});
}
showError(message: string, time: number): void {
this.messages$.next({
message,
type: 'message-error',
time: time
});
hideMessage(){
this.messages$.next({
message: '',
type: null
});
}
アイデアは、他のコンポーネントがmessageService.showError('my error message', 3000)
を呼び出すことができるということです。私はshowError
メソッドを3秒後にhideMessage
メソッドを呼び出す方法について混乱していますが、呼び出し元がtime
のために提供しています。
['delay'](http://reactivex.io/documentation/operators/delay.html)が必要です。 – jonrsharpe