1

我正在尝试在我的角度项目中使用 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
    );

可能是什么原因?提前致谢。

4

0 回答 0