我有一个组件,可以从服务中调用函数:
// Component
constructor (myService: MyService) { }
getData() {
this.myService.getTableData()
}
// Service
getTableData() {
task.snapshotChanges().pipe(
finalize(() => {
ref.getTableId().subscribe(id => id))
})
).subscribe()
}
如何在组件的id
方法内的finalize
运算符内收到此getData()
?我想要类似的东西:
getData() {
this.myService.getTableData().then(id => console.log(id))
}
答案 0 :(得分:3)
从组件而不是服务订阅。另外,您不必使用then
进行观察。为此仅使用subscribe
。 then
用于处理承诺。
// Service
getTableData() {
return task.snapshotChanges().pipe(
finalize(() => ref.getTableId())
)
}
getData() {
this.myService.getTableData().subscribe(id => console.log(id))
}