Проблема типа RxJS в подписке для конвейерных операторов

Я пытаюсь использовать конвейерные операторы 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
    );

Что может быть причиной? Заранее спасибо.

0 ответов

Другие вопросы по тегам