Наблюдаемое поведение

Я борюсь с чем-то, что я считаю довольно простым. По сути, у меня есть приложение angular 8, и я использую ngrx. Все мои операции CRUD работают, но я хочу перейти к URL-адресу после успешного завершения и добавления или обновления.

Когда я просматриваю код, все работает, кроме запуска изменения при возврате из наблюдаемого, я пробовал два разных подхода, и оба, похоже, возвращаются из наблюдаемого, но не завершаю следующий шаг.

Фактическое обновление или добавление к записи в firestore, и мои ngrx и ngrx / data store работают отлично, единственное, что не работает, - это инструкция, которую я предоставляю после завершения этих действий

Для упрощения я просто добавил оператор журнала консоли вместо действия маршрутизации. Когда я отлаживаю, я возвращаюсь к оператору подписки или касания, но он, похоже, не выполняет инструкцию внутри этого метода и не возвращает никаких ошибок.

Компонент продукта

1-й подход

this._entityService.add(entity).subscribe(() => console.log('added record'));

2-й подход

this._entityService.add(entity).pipe(
            tap(() => {
                console.log('added record');
            })
        );

Служба Entity Service

add(entity): Observable<any> {
        return Observable.create(observer =>
            this.firestoreService.createDoc(`products/`, entity)
        );
    }

person ccocker    schedule 16.11.2019    source источник
comment
stackoverflow.com/a/40231605/6689747   -  person Alex    schedule 16.11.2019
comment
Привет, Алекс - это сработало как шарм. Спасибо. Никогда раньше не понимал предмета поведения.   -  person ccocker    schedule 16.11.2019


Ответы (1)


Попробуй это

this._entityService.add(entity).subscribe((response: any) => {
  console.log(response)
});
person Santosh Shinde    schedule 16.11.2019
comment
Сантош, который не имел никакого значения, по-прежнему не запускал console.log - хотя спасибо за предложение - person ccocker; 16.11.2019