Angular 8: свойство 'of' не существует для типа 'typeof Observable' - PullRequest
0 голосов
/ 13 апреля 2020

Любая идея, почему я получаю эту ошибку в моем приложении Angular 8:

ERROR in src/app/_services/resolver.service.ts(13,23): error TS2339: Property 'of' does not exist on type 'typeof Observable'.

Вот как я ее импортировал:

import { Injectable } from '@angular/core';
import { Resolve } from '@angular/router';
import { Observable, of } from 'rxjs';

@Injectable({
  providedIn: 'root'
})
export class ResolverService implements Resolve<Observable<string>> {

  constructor() { }

  resolve() {
    return Observable.of('Hello Resolver!').delay(2000);
  }
}

В соответствии со всеми другими угрозами, которые я видел, относящимися к этому, я делаю это правильно, насколько я понимаю. Спасибо!

1 Ответ

2 голосов
/ 13 апреля 2020

Observable.of был более старый синтаксис. С помощью операторов "lettable" или "pipeable" вы импортируете каждого из них по отдельности и передаете их вместе. Не знаю, откуда исходит delay, но предполагается, что вы импортируете его из rxjs/operators:

import { Injectable } from '@angular/core';
import { Resolve } from '@angular/router';
import { Observable, of } from 'rxjs';
import { delay } from 'rxjs/operators';

@Injectable({
  providedIn: 'root'
})
export class ResolverService implements Resolve<Observable<string>> {

  constructor() { }

  resolve() {
    return of('Hello Resolver!').pipe(delay(2000));
  }
}
...