from

signature: from(ish: ObservableInput, mapFn: function, thisArg: any, scheduler: Scheduler): Observable

Turn an array, promise, or iterable into an observable.

πŸ’‘ This operator can be used to convert a promise to an observable!

πŸ’‘ For arrays and iterables, all contained values will be emitted as a sequence!

πŸ’‘ This operator can also be used to emit a string as a sequence of characters!

​​Ultimate RxJS​​

Examples

Example 1: Observable from array

( StackBlitz | jsBin | jsFiddle )

// RxJS v6+
import { from } from 'rxjs';
​
//emit array as a sequence of values
const arraySource = from([1, 2, 3, 4, 5]);
//output: 1,2,3,4,5
const subscribe = arraySource.subscribe(val => console.log(val));

Example 2: Observable from promise

( StackBlitz | jsBin | jsFiddle )

// RxJS v6+
import { from } from 'rxjs';
​
//emit result of promise
const promiseSource = from(new Promise(resolve => resolve('Hello World!')));
//output: 'Hello World'
const subscribe = promiseSource.subscribe(val => console.log(val));

Example 3: Observable from collection

( StackBlitz | jsBin | jsFiddle )

// RxJS v6+
import { from } from 'rxjs';
​
//works on js collections
const map = new Map();
map.set(1, 'Hi');
map.set(2, 'Bye');
​
const mapSource = from(map);
//output: [1, 'Hi'], [2, 'Bye']
const subscribe = mapSource.subscribe(val => console.log(val));

Example 4: Observable from string

( StackBlitz | jsBin | jsFiddle )

// RxJS v6+
import { from } from 'rxjs';
​
//emit string as a sequence
const source = from('Hello World');
//output: 'H','e','l','l','o',' ','W','o','r','l','d'
const subscribe = source.subscribe(val => console.log(val));

Additional Resources

πŸ“ Source Code: https://github.com/ReactiveX/rxjs/blob/master/src/internal/observable/from.ts​