RxJS v5.5.2+
перемещено в Pipeable операторов для улучшения встряхивания дерева и упрощения создания пользовательских операторов.Теперь operators
необходимо объединить, используя метод pipe
. См.
Новый импорт
import { map} from 'rxjs/operators';
Пример
myObservable
.pipe(filter(data => data > 8),map(data => data * 2),)
.subscribe(...);
Методы создания Observables
Ранее
import 'rxjs/add/observable/of';
// or
import { of } from 'rxjs/observable/of
const source = Observable.of(1, 2, 3, 4, 5);
const subscribe = source.subscribe(val => console.log(val));
В RXJS: 6 синтаксисизменился и импортируйте тоже Вместо Observable.of
используйте of
import { Observable, of } from 'rxjs';
const source = of(1, 2, 3, 4, 5);
const subscribe = source.subscribe(val => console.log(val));
Модифицированный код
import { Injectable } from '@angular/core';
import {environment} from '../../environments/environment';
import {HttpClient} from '@angular/common/http';
import {StorageService} from '../services/storage.service';
import {map} from 'rxjs/operators';
@Injectable()
export class VariationService {
ip = environment.url.management;
constructor(private http: HttpClient,
private storageService: StorageService) { }
getFlowChart(status?) {
status = status ? status : '';
let token = this.storageService.getToken('token');
return this.http.post(
`${this.ip}/workflow`,
{
'access_token': token,
'type': 'adjustment_workflow_get',
'data': {
'status': status
}
}
).pipe(map((res: Response) => {
if ( res['errcode'] !== '00000') {
return [];
}
return res['datas'];
}));
}
}
Модифицированный код
import {Injectable} from '@angular/core';
import { PreloadingStrategy, Route } from '@angular/router';
import { Observable,of } from 'rxjs';
@Injectable()
export class SelectivePreloadingStrategy implements PreloadingStrategy {
preloadedModules: string[] = [];
preload(route: Route, load: () => Observable<any>): Observable<any> {
if (route.data && route.data['preload']) {
this.preloadedModules.push(route.path);
return load();
} else {
return of(null);
}
}
}