github Reactive-Extensions/RxJS v2.2.19
RxJS Release v2.2.19

latest releases: v4.1.0, v4.0.8, v4.0.7...
10 years ago

This is a bit of an update from v2.2.18 with a couple of changes including:

  • Rx.Observable.fromEvent Changes
  • Backpressure Changes

Note that there are no breaking changes in this release.

Rx.Observable.fromEvent Changes

RxJS at its core will now support a number of libraries to help developers be productive without having to bring in other library specific RxJS bindings such as RxJS-jQuery. It will now support the following libraries

  • jQuery
  • Zepto
  • AngularJS
  • Ember

RxJS will now shortcut to use native methods for jQuery, Zepto, Angular's jqLite, and Ember, thus giving you the same experience had you used the library directly. The only caveat is that this method does not support a selector string which jQuery, Zepto and Ember support.

Backpressure Changes

In previous releases, the mechanism to pause and resume on both the pausable and pausableBuffered methods was to use the Subject directly to pass in either true or false depending on whether you wanted to pause or resume. In this release, this has been simplified to be able to use pause and resume to make it much more intuitive.

var pauser = new Rx.Subject();

// Create pausable
var pausable = Rx.Observable.fromEvent(document, 'mousemove').pausable(pauser);
var subscription = pausable.subscribe(function (next) {
  // Do something with values
});

// Now pause/resume
// unpause
pausable.resume();

// Stop and resume every five seconds
// Note: can use the outside Subject still too, no breaking changes.
var shouldRun = true;
setInterval(function () {
  if (shouldRun = !shouldRun) {
    pausable.pause();
  } else {
    pausable.resume();
  }
}, 5000);

In addition, the requirement for an external Rx.Subject has been made optional, so that the subject can stay internal and therefore not shared.

// With no outside controller
var pausable = Rx.Observable.fromEvent(document, 'mousemove').pausable();
var subscription = pausable.subscribe(function (next) {
  // Do something with values
});

Don't miss a new RxJS release

NewReleases is sending notifications on new releases.