# Instance Operators

Use this page to find the instance operator implemented by the [`Observable`](https://github.com/Reactive-Extensions/RxJS/blob/master/doc/api/core/observable.md) type that fits your needs:

| Instance methods                                                                              |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| --------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| Using an existing sequence                                                                    | I want to change each value                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | [map/select](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/select.html)                                                                                                                                                                                                                                                                                                                                                            |                                                                                                                                                   |
| I want to pull a property off each value                                                      | [pluck](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/pluck.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| I want to be notified of values without affecting them                                        | <p><a href="https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/do.html">do/tap</a><br> <a href="https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/doonnext.html">doOnNext/tapOnNext</a><br> <a href="https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/doonerror.html">doOnError/tapOnError</a><br> <a href="https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/dooncompleted.html">doOnCompleted/tapOnCompleted</a></p> |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| I want to include values                                                                      | based on custom logic                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | [filter/where](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/filter.html)                                                                                                                                                                                                                                                                                                                                                          |                                                                                                                                                   |
| from the start of the sequence                                                                |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | [take](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/take.html)                                                                                                                                                                                                                                                                                                                                                                    |                                                                                                                                                   |
| based on custom logic                                                                         | [takeWhile](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/takewhile.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
|                                                                                               |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| from the end of the sequence                                                                  | [takeLast](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/takelast.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| until another sequence emits a value or completes                                             | [takeUntil](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/takeuntil.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| I want to ignore values                                                                       | altogether                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | [ignoreElements](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/ignoreelements.html)                                                                                                                                                                                                                                                                                                                                                |                                                                                                                                                   |
| from the start of the sequence                                                                |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | [skip](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/skip.html)                                                                                                                                                                                                                                                                                                                                                                    |                                                                                                                                                   |
| based on custom logic                                                                         | [skipWhile](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/skipwhile.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| from the end of the sequence                                                                  | [skipLast](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/skiplast.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| until another sequence emits a value                                                          | [skipUntil](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/skipuntil.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| that have the same value as the previous                                                      | [distinctUntilChanged](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/distinctuntilchanged.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| that occur too frequently                                                                     | [throttle](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/throttle.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| I want to compute                                                                             | the sum                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | of its values                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | [sum](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/sum.html) |
| the average                                                                                   | [average](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/average.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| using custom logic                                                                            | and only output the final value                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | <p><a href="https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/aggregate.html">aggregate</a><br> <a href="https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/reduce.html">reduce</a></p>                                                                                                                                                                 |                                                                                                                                                   |
| and output the values as they are calculated                                                  | [scan](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/scan.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| I want to wrap its messages with metadata                                                     | that describes each message                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | [materialize](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/materialize.html)                                                                                                                                                                                                                                                                                                                                                      |                                                                                                                                                   |
| that includes the time past since the last value                                              | [timeInterval](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/timeinterval.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| that includes a timestamp                                                                     | [timestamp](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/timestamp.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| after a period of inactivity                                                                  | I want to throw an error                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | [timeout](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/timeout.html)                                                                                                                                                                                                                                                                                                                                                              |                                                                                                                                                   |
| I want to switch to another sequence                                                          | [timeout](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/timeout.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| I want ensure there is only one value                                                         | and throw an error if there are more or less than one value                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | [single](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/single.html)                                                                                                                                                                                                                                                                                                                                                                |                                                                                                                                                   |
| and use the default value if there are no values                                              | [singleOrDefault](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/singleordefault.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| I want to only take the first value                                                           | and throw an error if there are no values                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | [first](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/first.html)                                                                                                                                                                                                                                                                                                                                                                  |                                                                                                                                                   |
| and use the default value if there are no values                                              | [firstOrDefault](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/firstordefault.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| within a time period                                                                          | [sample](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/sample.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| I want to only take the last value                                                            | and error if there are no values                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | [last](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/last.html)                                                                                                                                                                                                                                                                                                                                                                    |                                                                                                                                                   |
| and use the default value if there are no values                                              | [lastOrDefault](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/lastordefault.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| I want to know how many values it contains                                                    | [count](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/count.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| I want to know if it includes a value                                                         | [contains](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/includes.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| I want to know if a condition is satisfied                                                    | by any of its values                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | [any/some](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/any.html)                                                                                                                                                                                                                                                                                                                                                                 |                                                                                                                                                   |
| by all of its values                                                                          | [all/every](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/every.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| I want to delay messages by a specific amount of time                                         |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | [delay](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/delay.html)                                                                                                                                                                                                                                                                                                                                                                  |                                                                                                                                                   |
| based on custom logic                                                                         | [delayWithSelector](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/delaywithselector.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| I want to group the values                                                                    | until the sequence completes                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | <p> <a href="https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/toarray.html">toArray</a><br> <a href="https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/tomap.html">toMap</a><br> <a href="https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/toset.html">toSet</a></p> |                                                                                                                                                   |
| using custom logic                                                                            | as arrays                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | [buffer](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/buffer.html)                                                                                                                                                                                                                                                                                                                                                                |                                                                                                                                                   |
| as sequences                                                                                  | [window](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/window.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| in batches of a particular size                                                               | as arrays                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | [bufferWithCount](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/bufferwithcount.html)                                                                                                                                                                                                                                                                                                                                              |                                                                                                                                                   |
| as sequences                                                                                  | [windowWithCount](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/windowwithcount.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| based on time                                                                                 | as arrays                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | [bufferWithTime](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/bufferwithtime.html)                                                                                                                                                                                                                                                                                                                                                |                                                                                                                                                   |
| as sequences                                                                                  | [windowWithTime](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/windowwithtime.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| based on time or count, whichever happens first                                               | as arrays                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | [bufferWithTimeOrCount](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/bufferwithtimeorcount.html)                                                                                                                                                                                                                                                                                                                                  |                                                                                                                                                   |
| as sequences                                                                                  | [windowWithTimeOrCount](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/windowwithtimeorcount.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| based on a key                                                                                | until the sequence completes                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | [groupBy](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/groupby.html)                                                                                                                                                                                                                                                                                                                                                              |                                                                                                                                                   |
| and control the lifetime of each group                                                        | [groupByUntil](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/groupbyuntil.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| I want to start a new sequence for each value                                                 | and emit the values from all sequences in parallel                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | [flatMap/selectMany](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/selectmany.html)                                                                                                                                                                                                                                                                                                                                                |                                                                                                                                                   |
| and emit the values from each sequence in order                                               | [concatMap/selectConcat](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/concatmap.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| and cancel the previous sequence when a new value arrives                                     | [flatMapLatest/selectSwitch](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/flatmaplatest.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| and recursively start a new sequence for each new value                                       | [expand](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/expand.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| and emit values from all sequences depending for onNext, onError, and onCompleted in parallel | [flatMapObserver/selectManyObserver](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/flatmapobserver.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| and emit values from all sequences depending for onNext, onError, and onCompleted in order    | [concatMapObserver/selectConcatObserver](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/flatmapobserver.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| I want to combine it with another                                                             | And be notified when both have completed                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | [forkJoin](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/forkjoin.html)                                                                                                                                                                                                                                                                                                                                                            |                                                                                                                                                   |
| I want to perform complex operations without breaking the fluent calls                        | [let](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/let.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| I want to share a subscription between multiple subscribers                                   | using a specific subject implementation                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | [multicast](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/multicast.html)                                                                                                                                                                                                                                                                                                                                                          |                                                                                                                                                   |
|                                                                                               | <p> <a href="https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/publish.html">publish</a><br> <a href="https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/share.html">share</a></p>                                                                                                                                                                                                                                                                                                                                                                                                      |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| and supply the last value to future subscribers                                               | <p> <a href="https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/publishlast.html">publishLast</a><br> <a href="https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/sharelast.html">shareLast</a></p>                                                                                                                                                                                                                                                                                                                                                                                      |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| and replay a default or the latest value to future subscribers                                | <p> <a href="https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/publishvalue.html">publishValue</a><br> <a href="https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/sharevalue.html">shareValue</a></p>                                                                                                                                                                                                                                                                                                                                                                                  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| and replay *n* number of values to future subscribers                                         | <p> <a href="https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/publish.html">replay</a><br> <a href="https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/share.html">shareReplay</a></p>                                                                                                                                                                                                                                                                                                                                                                                                 |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| when an error occurs                                                                          | I want to re-subscribe                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | [retry](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/retry.html)                                                                                                                                                                                                                                                                                                                                                                  |                                                                                                                                                   |
| I want to start a new sequence                                                                |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | [catch](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/catch.html)                                                                                                                                                                                                                                                                                                                                                                  |                                                                                                                                                   |
| that depends on the error                                                                     | [catch](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/catch.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| when it completes                                                                             | I want to re-subscribe                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | [repeat](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/repeat.html)                                                                                                                                                                                                                                                                                                                                                                |                                                                                                                                                   |
| I want to start a new sequence                                                                | [concat](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/concat.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| when it completes or errors                                                                   | I want to start a new sequence                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | [onErrorResumeNext](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/onerrorresumenext.html)                                                                                                                                                                                                                                                                                                                                          |                                                                                                                                                   |
| when it completes, errors or unsubscribes                                                     | I want to execute a function                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | [finally](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/finally.html)                                                                                                                                                                                                                                                                                                                                                              |                                                                                                                                                   |
| I want to change the scheduler that routes                                                    | calls to subscribe                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | [subscribeOn](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/subscribeon.html)                                                                                                                                                                                                                                                                                                                                                      |                                                                                                                                                   |
| messages                                                                                      | [observeOn](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/observeon.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| Using two sequences                                                                           | I want to decide which to receive values from                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | based on which one has values first                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | [amb](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/amb.html) |
| I want to determine if their values are equal                                                 | [sequenceEqual](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/sequenceequal.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| I want to combine their values                                                                | only when the first sequence emits, using the latest value from each                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | [withLatestFrom](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/withlatestfrom.html)                                                                                                                                                                                                                                                                                                                                                |                                                                                                                                                   |
| in order                                                                                      | reusing the latest value when unchanged                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | [combineLatest](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/combinelatest.html)                                                                                                                                                                                                                                                                                                                                                  |                                                                                                                                                   |
| using each value only once                                                                    | [zip](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/zip.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| that share overlapping “lifetime” that I choose                                               | and be notified for each combination                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | [join](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/join.html)                                                                                                                                                                                                                                                                                                                                                                    |                                                                                                                                                   |
| and be given a sequence of “rights” for each “left”                                           | [groupJoin](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/groupjoin.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |
| I want to include values from both                                                            | [merge](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/observable/observable_instance_methods/merge.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                   |

## See Also #\#

*Reference*

* [`Observable`](https://github.com/Reactive-Extensions/RxJS/blob/master/doc/api/core/observable.md)

*Concepts*

* [Querying Observable Sequences](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/which_operator_do_i_use/querying.md)
* [Operators By Category](https://github.com/soufatn/rxjs-book/tree/bf8b6376d5d3357f915110c3a4f92267055843f3/content/which_operator_do_i_use/categories.md)
