Comment rendre compte à rebours avec RxJS Observables?
J'ai du mal à créer un compte à rebours de la minuterie à l'aide des Observables, les exemples à http://reactivex.io/documentation/operators/timer.html ne semblent pas fonctionner. Dans cet exemple précis, l'erreur liée à timerInterval n'étant pas une fonction de l'Observable retourné à partir de la minuterie.
J'ai aussi fait des expériences avec d'autres approches et le meilleur que j'ai trouvé est:
Observable.interval(1000).take(10).subscribe(x => console.log(x));
Ici, le problème est-il compte de 0 à 10 et je veux un compte à rebours par exemple 10,9,8...0.
J'ai aussi essayé ça, mais le timer
n'existe pas pour le type Observables
Observable.range(10, 0).timer(1000).subscribe(x => console.log(x));
Ainsi que, qui ne produit aucune sortie.
Observable.range(10, 0).debounceTime(1000).subscribe(x => console.log(x));
De préciser j'ai besoin d'aide avec ReactiveX de RxJS mise en œuvre, pas la MircoSoft version.
OriginalL'auteur Jonathan Miles | 2016-01-21
Vous devez vous connecter pour publier un commentaire.
Vous étiez sur la bonne voie - votre problème est que
timer
n'existe pas sur le prototype (et, partant, sur laObservable.range()
)mais sur les Observables (voir la RxJS docs). I. e. jsbinJ'espère que quelqu'un d'autre peut fournir un moyen. Jusqu'alors: Avez-vous envisagé d'étendre le prototype de l'Observable à masquer la mise en œuvre (par exemple, comme ceci)?
Il est un opérateur qui fait cela,
generate
il n'a pas été ajouté à la nouvelle projet encore.J'ai vu le
generate
fonction dans la v4, je suis surpris qu'il n'est pas en v5. Il pourrait m'offrir la fonctionnalité j'ai besoin.OriginalL'auteur Niklas Fasching
Avec intervalle, vous permet de spécifier combien de temps une deuxième est
OriginalL'auteur Zafer Qadi