【发布时间】:2019-11-16 05:03:11
【问题描述】:
我正在努力解决我认为非常简单的事情。本质上,我有一个 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)
);
}
【问题讨论】:
-
嘿亚历克斯 - 这就像一个魅力。谢谢你。以前从未理解过行为主题。
标签: angular rxjs observable ngrx angular-ngrx-data