我正在尝试在我的角度项目中使用 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
);
在上面的示例中,我使用 typeresponse
正确输入了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
);
可能是什么原因?提前致谢。