返回Observable并订阅angular

时间:2019-01-09 19:14:39

标签: angular

我有一个服务对象,在设置某些属性时遇到问题(可能是我的理解问题)。

weight

如何在someFunction GET响应中设置“ hoHa”服务属性?    在angularJs中,我使用$ http设置“ hoHa”获取成功响应。

如果有人调用someFunction时已经设置了“ hoHa”,我该如何返回?    在angularJs中,如果属性已设置,我会返回$ q.when()

1 个答案:

答案 0 :(得分:2)

您可以使用tap并仍将可观察对象返回给呼叫者,以便可以对其进行订阅。

@Injectable()
export class MyService{
    hoHa:MyObj = null;

    someFunction(): Observable<MyObj>{
        return httpClient.get<MyObj>('url')
            .pipe(catchError(this.handleError('someFunction', {} as MyObj), tap(result => this.hoHa = result));

    }
}