Rx.BehaviorSubject

Represents a value that changes over time. Observers can subscribe to the subject to receive the last (or initial) value and all subsequent notifications.

This class inherits both from the Rx.Observable and Rx.Observer classes.

Usage ##

The follow example shows the basic usage of an Rx.BehaviorSubject class.

/* Initialize with initial value of 42 */
var subject = new Rx.BehaviorSubject(42);

var subscription = subject.subscribe(
    function (x) {
        console.log('Next: ' + x.toString());
    },
    function (err) {
        console.log('Error: ' + err);
    },
    function () {
        console.log('Completed');
    });

// => Next: 42

subject.onNext(56);
// => Next: 56

subject.onCompleted();
// => Completed

Location

  • rx.binding.js

BehaviorSubject Constructor ##

BehaviorSubject Instance Methods ##

Inherited Classes ##

BehaviorSubject Constructor ##

Rx.BehaviorSubject(initialValue)

#

Initializes a new instance of the Rx.BehaviorSubject class which creates a subject that caches its last value and starts with the specified value.

Arguments

  1. initialValue (Any): Initial value sent to observers when no other value has been received by the subject yet.

Example

var subject = new Rx.BehaviorSubject(56);

subject.onCompleted();

var subscription = source.subscribe(
    function (x) {
        console.log('Next: ' + x);
    },
    function (err) {
        console.log('Error: ' + err);
    },
    function () {
        console.log('Completed');
    });

// => Next: 56

subject.onNext(42);
// => Next: 42

subject.onCompleted();
// => Completed

Location

= rx.binding.js

BehaviorSubject Instance Methods ##

Rx.BehaviorSubject.prototype.dispose()

#

Unsubscribe all observers and release resources.

Example

var subject = new Rx.BehaviorSubject();

var subscription = subject.subscribe(
    function (x) {
        console.log('Next: ' + x.toString());
    },
    function (err) {
        console.log('Error: ' + err);
    },
    function () {
        console.log('Completed');
    });

subject.onNext(42);
// => Next: 42

subject.onCompleted();
// => Completed

subject.dispose();

try {
    subject.onNext(56);
} catch (e) {
    console.log(e.message);
}

// => Object has been disposed

Location

= rx.binding.js

Rx.BehaviorSubject.prototype.hasObservers()

#

Indicates whether the subject has observers subscribed to it.

Returns

(Boolean): Returns true if the Subject has observers, else false.

Example

var subject = new Rx.BehaviorSubject();

console.log(subject.hasObservers());

// => false

var subscription = subject.subscribe(
    function (x) {
        console.log('Next: ' + x.toString());
    },
    function (err) {
        console.log('Error: ' + err);
    },
    function () {
        console.log('Completed');
    });

console.log(subject.hasObservers());

// => true

Location

= rx.binding.js

Last updated