Подписка вызывается дваждыJavascript

Форум по Javascript
Гость
Подписка вызывается дважды

Сообщение Гость »


Я пытаюсь создать форму для отправки данных, но когда я подписываюсь на услугу, подписка выполняется дважды. Сначала с нулевыми данными, а затем с фактическими данными.

Component.ts

addBook() { this.errorMessage = ноль; this.fireService.getBook(this.bookDetails.isbn).subscribe(data => { console.log('подписка на вызов'); если (ноль != данные) { this.dbox.open(DialogBoxComponent, { data: { title: 'Error', content: 'Книга уже присутствует в библиотеке. Выберите «Редактировать книгу», чтобы изменить данные», кнопка: false } }); this.errorMessage = 'Книга уже присутствует в библиотеке. Выберите «Редактировать книгу», чтобы изменить детали'; } еще { this.fireService.addBook(this.bookDetails); this.dbox.open(DialogBoxComponent, { data: { title: «Успех», содержание: «Книга добавлена ​​в базу данных», кнопка: false } }); this.router.navigateByUrl('/add-book'); } }); } Service.ts

getBook(id) { console.log('вызывается firebase get book'); return this.db.doc(`/books/${id}`).valueChanges(); } Ниже приведено изображение консоли Chrome. Это показывает, что подписка вызывается дважды, но не служба Firebase.

Журналы консоли Chrome: изображение, нажмите для просмотра

журналы консоли Chrome

вызов книги Firebase Get Book подписаться позвонил подписаться позвонил Пожалуйста, помогите

Вернуться в «Javascript»