У меня есть компонент с двумя кнопками. Когда я нажимаю первую кнопку в соответствии с демонстрацией в данном плункере ниже, он генерирует событие, и моя сервисная функция испускает асинхронную тему с некоторыми значениями... Когда я нажимаю другую кнопку, я я пытаюсь снова вызвать событие .next, но оно выдает какую-то ошибку... Я сделал демонстрацию pluker здесь http://plnkr.co/edit/wpyV7o9JErdQMzGFZ4wp?p=preview ...Если я использую тему, она работает нормально, но в этом случае я не хочу использовать тему...
export class ErrorService{
latestError:AsyncSubject<string> = new AsyncSubject();
Save() {
this.latestError.next('form submitted');
this.latestError.complete();
}
Update(){
this.latestError.next('form updated');
this.latestError.complete();
}
}
Это мой класс обслуживания, и именно так я вызываю событие .next для асинхронной темы.
this.service.latestError.subscribe(
err=> {
console.log('result = '+err);
this.result=err;
},
err => {
console.log('err');
},
() => {
console.log('complete');
});
И вот как я подписался на асинхронную тему... Событие щелчка работает нормально в первый раз, но когда я нажимаю другую кнопку, оно выдает ошибку. Кто-нибудь, пожалуйста, помогите мне решить эту ошибку... Как я могу позвонить .next () во второй раз, используя мою асинхронную тему... Заранее спасибо