typescript - Angular 7 Proprietatea 'share' nu există în tipul observable
Scriam CachcingServiceBase în Angular 7, dar se pare că apare următoarea eroare „observable share nu este o funcție”
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;
}
}
}
Import oare greșit operatorul share? Cum pot rezolva asta? Am încercat să import în alte moduri, dar nu am reușit să rezolv problema
Răspuns #1
Import greșit și utilizare greșită :
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;
}
}
}
