from

Creates an Observable from an Array, an array-like object, a Promise, an iterable object, or an Observable-like object.

from<T>(input: ObservableInput<T>, scheduler?: SchedulerLike): Observable<T>

Parameters

input

Type: ObservableInput.

scheduler

Optional. Default is undefined.

Type: SchedulerLike.

Returns

Observable<T>:

Description

Converts almost anything to an Observable.

from converts various other objects and data types into Observables. It also converts a Promise, an array-like, or an iterable object into an Observable that emits the items in that promise, array, or iterable. A String, in this context, is treated as an array of characters. Observable-like objects (contains a function named with the ES2015 Symbol for Observable) can also be converted through this operator.

Examples

Converts an array to an Observable

import { from } from 'rxjs/observable/from'; const array = [10, 20, 30]; const result = from(array); result.subscribe(x => console.log(x)); // Logs: // 10 20 30

Convert an infinite iterable (from a generator) to an Observable

import { take } from 'rxjs/operators'; import { from } from 'rxjs/observable/from'; function* generateDoubles(seed) { let i = seed; while (true) { yield i; i = 2 * i; // double it } } const iterator = generateDoubles(3); const result = from(iterator).pipe(take(10)); result.subscribe(x => console.log(x)); // Logs: // 3 6 12 24 48 96 192 384 768 1536

with async scheduler

import { from } from 'rxjs/observable/from'; import { async } from 'rxjs/scheduler/async'; console.log('start'); const array = [10, 20, 30]; const result = from(array, async); result.subscribe(x => console.log(x)); console.log('end'); // Logs: // start end 10 20 30

See Also