我正在努力解决我认为非常简单的事情。本质上,我有一个 Angular 8 应用程序,并且正在使用 ngrx。我所有的 CRUD 操作都在工作,但我想在成功完成并添加或更新后导航到一个 url。
当我单步执行代码时,除了触发从可观察对象返回的更改外,一切正常,我尝试了两种不同的方法,似乎都从可观察对象返回,但不会完成下一步。
实际更新或添加到 firestore 和我的 ngrx 和 ngrx/data 存储中的记录完美运行唯一不起作用的是我在完成这些活动后提供的指令
为简化起见,我刚刚添加了一个控制台日志语句,而不是一个路由操作。当我调试时,我回到订阅或点击运算符,但它似乎没有执行该方法内的指令,也没有返回任何错误。
产品组件
第一种方法
this._entityService.add(entity).subscribe(() => console.log('added record'));
第二种方法
this._entityService.add(entity).pipe(
tap(() => {
console.log('added record');
})
);
实体服务
add(entity): Observable<any> {
return Observable.create(observer =>
this.firestoreService.createDoc(`products/`, entity)
);
}