Back to Rxjs

This is RxJS v 4. Find the latest version here

doc/api/disposables/singleassignmentdisposable.md

4.1.04.9 KB
Original Source

This is RxJS v 4. Find the latest version here

Rx.SingleAssignmentDisposable class

Represents a disposable resource which only allows a single assignment of its underlying disposable resource. If an underlying disposable resource has already been set, future attempts to set the underlying disposable resource will throw an Error.

Usage

The follow example shows the basic usage of an Rx.SingleAssignmentDisposable.

js
var singleDisposable = new Rx.SingleAssignmentDisposable();

var disposable = Rx.Disposable.create(function () {
     console.log('disposed');
});

singleDisposable.setDisposable(disposable);

singleDisposable.dispose();
// => disposed

Location

  • rx.js

SingleAssignmentDisposable Constructor

SingleAssignmentDisposable Instance Methods

SingleAssignmentDisposable Instance Properties

SingleAssignmentDisposable Constructor

<a id="rxsingleassignmentdisposable"></a>Rx.SingleAssignmentDisposable()

<a href="#rxsingleassignmentdisposable">#</a>

Initializes a new instance of the Rx.SingleAssignmentDisposable class.

Example

js
var singleDisposable = new Rx.SingleAssignmentDisposable();

console.log(singleDisposable.isDisposed);
// => false

Location

  • rx.js

SingleAssignmentDisposable Instance Methods

<a id="rxsingleassignmentdisposableprototypedispose"></a>Rx.SingleAssignmentDisposable.prototype.dispose()

<a href="#rxsingleassignmentdisposableprototypedispose">#</a>

Disposes the underlying disposable.

Example

js
var singleDisposable = new Rx.SingleAssignmentDisposable();

var disposable = Rx.Disposable.create(function () {
     console.log('disposed');
});

singleDisposable.setDisposable(disposable);

console.log(singleDisposable.isDisposed);
// => false

singleDisposable.dispose();
// => disposed

console.log(singleDisposable.isDisposed);
// => true

Location

  • rx.js

<a id="rxsingleassignmentdisposableprototypegetdisposable"></a>Rx.SingleAssignmentDisposable.prototype.getDisposable()

<a href="#rxsingleassignmentdisposableprototypegetdisposable">#</a>

Gets the underlying disposable. After disposal, the result of getting this method is undefined.

Returns

(Disposable): The underlying disposable.

Example

js
var singleDisposable = new Rx.SingleAssignmentDisposable();

var disposable = Rx.Disposable.create(function () {
     console.log('disposed');
});

singleDisposable.setDisposable(disposable);

var d = singleDisposable.getDisposable();

console.log(d === disposable);

Location

  • rx.js

<a id="rxsingleassignmentdisposableprototypesetdisposablevalue"></a>Rx.SingleAssignmentDisposable.prototype.setDisposable(value)

<a href="#rxsingleassignmentdisposableprototypesetdisposablevalue">#</a>

Sets the underlying disposable.

Arguments

  1. value (Disposable): The new underlying disposable.

Example

js
var singleDisposable = new Rx.SingleAssignmentDisposable();

var d1 = Rx.Disposable.create(function () {
     console.log('one');
});

singleDisposable.setDisposable(d1);

var d2 = Rx.Disposable.create(function () {
     console.log('two');
});

try {
    singleDisposable.setDisposable(d2);
} catch (e) {
    console.log(e.message);
}

// => Disposable has already been assigned

Location

  • rx.js

SingleAssignmentDisposable Instance Properties

<a id="isdisposed"></a>isDisposed

<a href="#isdisposed">#</a>

Gets a value that indicates whether the object is disposed.

Example

js
var singleDisposable = new Rx.SingleAssignmentDisposable();

var disposable = Rx.Disposable.create(function () {
     console.log('disposed');
});

singleDisposable.setDisposable(disposable);

console.log(singleDisposable.isDisposed);
// => false

singleDisposable.dispose();
// => disposed

console.log(singleDisposable.isDisposed);
// => true

Location

  • rx.js