Я пытаюсь использовать конвейерные операторы RxJS в своем угловом проекте. У меня есть реализация, как показано ниже.
// Service Method
public getItems(params: Object = {}): Observable<JsendResponse> {
return this.apiService.get('v1/url', params);
}
// JsendResponse interface
import { Response } from '@angular/http';
export interface JsendResponse extends Response {
data: any;
message: string;
status: number;
}
// Component call
this.service
.getItems({})
.finally(() => this.loading = false)
.subscribe(
response => this.actions = response.data,
error => this.errors = error
);
В приведенном выше примере я получаю response
, набранный правильно с типом JsendResponse
. Но когда я использую оператор pipe
, response
вводится неправильно, и моя IDE сообщает, что TS2339: Property 'data' does not exist on type {}
.
this.service
.getItems({})
.pipe(
finalize(() => this.loading = false)
)
.subscribe(
response => this.actions = response.data,
error => this.errors = error
);
В чем может быть причина? Заранее спасибо.