Skip to content

Latest commit

 

History

History
116 lines (80 loc) · 4 KB

from.md

File metadata and controls

116 lines (80 loc) · 4 KB

From

Сигнатура

from<O extends ObservableInput<any>>(input: O, scheduler: SchedulerLike): Observable<ObservedValueOf<O>>

Описание

Создает Observable на основе определнных структур данных такие как:

Параметры

  • input

    Объект, который нужно превратить в Observable

  • scheduler Depricated

    Тип планировщика. Лучше использовать функцию scheduled

Примеры

Пример 1: Конвертация списока

import { from } from 'rxjs';

const array = [10, 20, 30];
const result = from(array);

result.subscribe(x => console.log(x));

// Logs:
// 10
// 20
// 30

Пример 2: Конвертация итератора

import { from } from 'rxjs';
import { take } from 'rxjs/operators';

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

Пример 3: Конвертация Promise

// 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));

Пример 4: Конвертация Map

// 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));

Полезные ссылки