Свойство Angular 7 'share' не существует в наблюдаемом типе - PullRequest
1 голос
/ 13 марта 2019

Я писал CachcingServiceBase на Angular 7, но похоже, что следующая ошибка «наблюдаемая доля не является функцией»

import "rxjs/add/operator/share";
import { Observable } from "rxjs";

export abstract class CachcingServiceBase {
  protected cache<T>(getter: () => Observable<T>,
                     setter: (val: Observable<T>) => void,
                     retreive: () => Observable<T>): Observable<T> {
    const cached = getter();
    if (cached !== undefined) {
      return cached;
    } else {
      const val = retreive().share();
      setter(val);
      return val;
    }
  }
}

Я неправильно импортирую оператор обмена? как я могу решить это? , Я пытался импортировать и другими способами, но не смог решить проблему

1 Ответ

4 голосов
/ 13 марта 2019

Неправильный импорт и неправильное использование:

import { share } from 'rxjs/operators';
import { Observable } from "rxjs";

export abstract class CachcingServiceBase {
  protected cache<T>(getter: () => Observable<T>,
                     setter: (val: Observable<T>) => void,
                     retreive: () => Observable<T>): Observable<T> {
    const cached = getter();
    if (cached !== undefined) {
      return cached;
    } else {
      const val = retreive().pipe(share());
      setter(val);
      return val;
    }
  }

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...