> For the complete documentation index, see [llms.txt](https://soufatn.gitbook.io/rxjs-book/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://soufatn.gitbook.io/rxjs-book/summary/disposables/disposable.md).

# Rx.Disposable

Provides a set of static methods for creating Disposables, which defines a method to release allocated resources.

## Usage #\#

The follow example shows the basic usage of an `Rx.Disposable`.

```javascript
var disposable = Rx.Disposable.create(() => console.log('disposed'));

disposable.dispose();
// => disposed
```

### Location

* rx.js

## `Disposable Class Methods` #\#

* [`create`](/rxjs-book/summary/disposables/disposable.md#rxdisposablecreateaction)

## `Disposable Class Properties` #\#

* [`empty`](/rxjs-book/summary/disposables/disposable.md#rxdisposableempty)

## `Disposable Instance Methods` #\#

* [`dispose`](/rxjs-book/summary/disposables/disposable.md#rxdisposableprototypedispose)

## *Class Methods* #\#

### `Rx.Disposable.create(action)` <a href="#rxdisposablecreateaction" id="rxdisposablecreateaction"></a>

[#](/rxjs-book/summary/disposables/disposable.md#rxdisposablecreateaction) [Ⓢ](https://github.com/Reactive-Extensions/RxJS/blob/master/src/core/disposables/disposable.js#L25)

Creates a disposable object that invokes the specified action when disposed.

#### Arguments

1. `action` *(Function)*: Function to run during the first call to `dispose`. The action is guaranteed to be run at most once.

#### Returns

*(Disposable)*: The disposable object that runs the given action upon disposal.

#### Example

```javascript
var disposable = Rx.Disposable.create(() => console.log('disposed'));

disposable.dispose();
// => disposed
```

### Location

* rx.js

## *Disposable Class Properties* #\#

### `Rx.Disposable.empty` <a href="#rxdisposableempty" id="rxdisposableempty"></a>

[#](/rxjs-book/summary/disposables/disposable.md#rxdisposableempty) [Ⓢ](https://github.com/Reactive-Extensions/RxJS/blob/master/src/core/disposables/disposable.js#L130)

Gets the disposable that does nothing when disposed.

#### Returns

*(Disposable)*: The disposable that does nothing when disposed.

#### Example

```javascript
var disposable = Rx.Disposable.empty;

disposable.dispose(); // Does nothing
```

### Location

* rx.js

## *Disposable Instance Methods* #\#

### `Rx.Disposable.prototype.dispose()` <a href="#rxdisposableprototypedispose" id="rxdisposableprototypedispose"></a>

[#](/rxjs-book/summary/disposables/disposable.md#rxdisposableprototypedispose) [Ⓢ](https://github.com/Reactive-Extensions/RxJS/blob/master/src/core/disposables/disposable.js#L13-L18)

Performs the task of cleaning up resources.

#### Example

```javascript
var disposable = Rx.Disposable.create(() => console.log('disposed'));

disposable.dispose();
// => disposed
```

### Location

* rx.js
