Back to Rxjs

This is RxJS v 4. Find the latest version here

doc/api/disposables/refcountdisposable.md

4.1.04.6 KB
Original Source

This is RxJS v 4. Find the latest version here

Rx.RefCountDisposable class

Represents a disposable resource that only disposes its underlying disposable resource when all getDisposable dependent disposable objects have been disposed.

Usage

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

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

var refCountDisposable = new Rx.RefCountDisposable(disposable);

var disposable1 = refCountDisposable.getDisposable();
var disposable2 = refCountDisposable.getDisposable();

disposable1.dispose();
console.log(disposable.isDisposed);
// => false

disposable2.dispose();
console.log(disposable.isDisposed);
// => false

refCountDisposable.dispose();
// => disposed

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

Location

  • rx.js

RefCountDisposable Constructor

RefCountDisposable Instance Methods

RefCountDisposable Instance Properties

RefCountDisposable Constructor

<a id="rxrefcountdisposable"></a>Rx.RefCountDisposable(disposable)

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

Initializes a new instance of the Rx.RefCountDisposable class with the specified disposable

Arguments

  1. disposable (Disposable): Underlying disposable.

Example

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

var refCountDisposable = new Rx.RefCountDisposable(disposable);

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

Location

  • rx.js

RefCountDisposable Instance Methods

<a id="rxrefcountdisposableprototypedispose"></a>Rx.RefCountDisposable.prototype.dispose()

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

Disposes the underlying disposable only when all dependent disposables have been disposed.

Example

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

var refCountDisposable = new Rx.RefCountDisposable(disposable);

var disposable1 = refCountDisposable.getDisposable();
var disposable2 = refCountDisposable.getDisposable();

disposable1.dispose();
console.log(disposable.isDisposed);
// => false

disposable2.dispose();
console.log(disposable.isDisposed);
// => false

refCountDisposable.dispose();
// => disposed

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

Location

  • rx.js

<a id="rxrefcountdisposableprototypegetdisposable"></a>Rx.RefCountDisposable.prototype.getDisposable()

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

Returns a dependent disposable that when disposed decreases the refcount on the underlying disposable.

Returns

(Disposable): A dependent disposable contributing to the reference count that manages the underlying disposable's lifetime.

Example

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

var refCountDisposable = new Rx.RefCountDisposable(disposable);

var d = refCountDisposable.getDisposable();

console.log(d === disposable);
// => false

// Clean up disposables
disposable.dispose();
d.dispose();

// Now try to dispose the main
refCountDisposable.dispose();

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

Location

  • rx.js

RefCountDisposable Instance Properties

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

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

Gets a value that indicates whether the object is disposed.

Example

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

var refCountDisposable = new Rx.RefCountDisposable(disposable);

disposable.dispose();

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

refCountDisposable.dispose();
// => disposed

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

Location

  • rx.js