Преобразование сетевого провайдера в синтаксис Rxjs 6.4.0 - PullRequest
0 голосов
/ 17 февраля 2019

В моем проекте Ionic 3 мне нужно преобразовать сетевой провайдер, написанный на Rxjs 6.0. Я новичок в Rxjs и не понимаю ошибки в строке this.online $ .. Кто-то может мне помочь?

import { Injectable } from '@angular/core';
import { Network} from '@ionic-native/network/ngx';
import { Platform } from 'ionic-angular';
import { Observable } from 'rxjs/Observable'
import { merge, mapTo } from 'rxjs/operators'
import { of, fromEvent } from 'rxjs'

@Injectable()
export class NetworkService {

    private online$: Observable < boolean > = null;

    constructor(private network: Network, private platform: Platform) {
    this.online$ = Observable.create(observer => {
        observer.next(true);
    }).pipe(mapTo(true));

    if (this.platform.is('cordova')) {
        // on Device

        this.online$ = merge(
        this.network.onConnect().pipe(mapTo(true)),
        this.network.onDisconnect().pipe(mapTo(false)));
    } else {
        // on Browser
        this.online$ = merge( of (navigator.onLine),
        fromEvent(window, 'online').pipe(mapTo(true)),
        fromEvent(window, 'offline').pipe(mapTo(false))
        );
    }
    }

    public getNetworkType(): string {
    return this.network.type
    }

    public getNetworkStatus(): Observable < boolean > {
    return this.online$;
    }

}
...