Je pense que RXJS devrait parfaitement s'adapter à Suppress Dublicate Button clique sur 2 secondes. Cependant, je lutt avec la mise en œuvre.
var $button = $('#myButton').button(); $button .toObservable("click") //.Throttle(2000) // Wouldn't fire the first event instantly :-( .Subscribe(function(){ alert('clicked'); });
5 Réponses :
En fait, Matthew de l'équipe RX était si gentille de m'envoyer la réponse via Twitter: http://twitter.com/#!/mattpodwysocki/status/43731812513624064
Donc, ce que vous pouvez faire est que: p> http://jsfiddle.net/cburgdorf/mumfa/5/ p> Toutefois: pour des raisons d'exercice. Je préférerais que cela fonctionne sans réglage activer / désactiver mais simplement Suppression des événements pendant 2 secondes après la première occurrence forte> p> dans le discours de marbre, je cherche ceci: p> O Stream: x --- x --- x --- x --- x --- x --- x p> rxstream: x -------------- -X -------------- x p> p>
Crazy Delicious!
Je l'ai eu: p>
C'est comme ça que je le ferais dans RxNet (désolé, je ne connais pas RxJS, donc pas sûr de si c'est possible là):
J'ai converti des sergeys Répondez à JavaScript et pensez que cela devrait être la dernière façon de partir.
var $button = $('#myButton').button(); $button .toObservable("click") .OneInTime(2000) .Subscribe(function(){ console.log('clicked'); });
J'ai beaucoup appris de ce fil et je suis en fait la l'itération délicieuse em> est de loin la plus propre. Mais je voulais retourner un flux d'événements compose - comme dans les les sergeys convertis répondent em>. Alors voici ma méthode ... var goToChaseTrigger = $scope.$createObservableFunction('goToChase');
var throttleAfterFirst = goToChaseTrigger
.throttleOnFirst(2000)
.subscribe(function(d){console.log('throttleOnFirst>',d)})
Bravo pour utiliser les fixations de Rx angulaires :)
Vous pouvez probablement utiliser xgrommx.github.io/rx-book/ Contenu / Observable / ... comme
BufferwithTimeOrcount (2000, 1) code>