Javascript 组合可观测数据集';不要进行HTTP调用
我有一个具有3种公共方法的服务。它们取决于Javascript 组合可观测数据集';不要进行HTTP调用,javascript,angular,rxjs,Javascript,Angular,Rxjs,我有一个具有3种公共方法的服务。它们取决于this.dossierService.dossierIds的结果dossierIds是返回BehaviorSubject的getter 但TypeScript在所有3种方法中都给了我一个错误,即: Type 'Observable<Observable<void>>' is not assignable to type 'Observable<void>'. Type 'Observable<void>'
this.dossierService.dossierIds
的结果dossierIds
是返回BehaviorSubject
的getter
但TypeScript在所有3种方法中都给了我一个错误,即:
Type 'Observable<Observable<void>>' is not assignable to type 'Observable<void>'. Type 'Observable<void>' is not assignable to type 'void'.
类型“Observable”不可分配给类型“Observable”。类型“Observable”不可分配给类型“void”。
我甚至没有看到我的HTTP请求被触发。我哪里出错了?没有进行http调用的原因是因为您没有订阅内部可观察对象
1 public deleteMortgageObligation(id: string): Observable<void> {
2 return this.getObligationsUrl(id).pipe(
3 map(dossierIds => {
4 const endpoint = `${this.getObligationsUrl(dossierIds)}/blablabla/${id}`;
5 return this.http.delete(endpoint);
6 })
7 );
8 }
没有进行http调用的原因是您没有订阅内部可观察对象
1 public deleteMortgageObligation(id: string): Observable<void> {
2 return this.getObligationsUrl(id).pipe(
3 map(dossierIds => {
4 const endpoint = `${this.getObligationsUrl(dossierIds)}/blablabla/${id}`;
5 return this.http.delete(endpoint);
6 })
7 );
8 }
1 public deleteMortgageObligation(id: string): Observable<void> {
2 return this.getObligationsUrl(id).pipe(
3 map(dossierIds => {
4 const endpoint = `${this.getObligationsUrl(dossierIds)}/blablabla/${id}`;
5 return this.http.delete(endpoint);
6 })
7 );
8 }
1 public deleteMortgageObligation(id: string): Observable<void> {
2 return this.getObligationsUrl(id).pipe(
3 switchMap(dossierIds => {
4 const endpoint = `${this.getObligationsUrl(dossierIds)}/blablabla/${id}`;
5 return this.http.delete(endpoint);
6 })
7 );
8 }