1
이 코드가 구성 요소 안에 포함되어 있는데 콘솔에 표시되는 내용은 '구성 요소 1 : 미션 시작됨'입니다. 서비스에서 응답을 제대로 받고 있지만 일단 완료되면 '성공했습니다!'라는 메시지를 인쇄하고 싶습니다. 그리고 그것은 결코 일어나지 않습니다 ... subscribe()
이 완료되면 어떻게해야합니까?subscribe() 완료시 무언가 수행
onClick() {
this.service.announceMission('mission started');
this.service.missionAnnounced$.subscribe(response => console.log('from component 1: ' + response),
error => console.log('error: ', error),
() => console.log('successed!!'));
}
그리고 이것이 내가 내 서비스에있는 코드 :
export class MissionService {
// Observable string sources
private missionAnnouncedSource = new BehaviorSubject("not started yet");
private missionConfirmedSource = new BehaviorSubject("not started yet");
// Observable string streams
missionAnnounced$ = this.missionAnnouncedSource.asObservable();
missionConfirmed$ = this.missionConfirmedSource.asObservable();
// Service message commands
announceMission(mission: string) {
this.missionAnnouncedSource.next(mission);
}
confirmMission(astronaut: string) {
this.missionConfirmedSource.next(astronaut);
}
}