web-dev-qa-db-fra.com

Comment importer un timer rxjs dans angular 6?

J'ai essayé d'importer la minuterie rxjs sur mon projet angular 6 comme

import { timer } from 'rxjs/observable/timer';

J'ai aussi essayé comme

Rx.Observable.timer(200, 100)

Ils ne travaillent pas

Voici le code sur plunker

17
anonymous

À partir de rxjs 6 (utilisé dans angular 6)), la règle générale est la suivante:

  • rxjs: méthodes de création, types, ordonnanceurs et utilitaires

    import { timer, Observable, Subject, asapScheduler, pipe, of, from, interval, merge, fromEvent } from 'rxjs';

  • rxjs/opérateurs: tous les opérateurs raccordables:

    import { map, filter, scan } from 'rxjs/operators';

Voici le guide de migration: https://github.com/ReactiveX/rxjs/blob/master/MIGRATION.md#observable-classes

21
ashfaq.p

Toutes les classes observables ( https://github.com/ReactiveX/rxjs/tree/5.5.8/src/observable ) ont été supprimées de la v6 au profit d'opérateurs existants ou nouveaux qui effectuent la même chose. opérations que les méthodes de classe.

import { timer } from 'rxjs';
import { timeInterval, pluck, take} from 'rxjs/operators';

var sourcef = timer(200, 100)
  .pipe(
    timeInterval(),
    pluck('interval'),
    take(3)
  )

Exemple Forked

Voir également

17
yurzui

à partir de rxjs 6.2.2, pour cette importation

import { timer } from 'rxjs';   // gives tslint blacklisted error

tslint donne une erreur:

ERR: [tslint] This import is blacklisted, 
import a submodule instead (import-blacklist)

mais cela fonctionne bien sans erreur

import { timer } from 'rxjs/observable/timer'; //works fine

2
Nitin Jadhav