Middle
Šta je observable?
sobes.tech АИ
Одговор од АИ
Observable — то је ток података који може асинхроно емитовати вредности. За разлику од promise-ова, који враћају једну вредност, observable може емитовати нула, једну или више вредности током времена.
Кључне карактеристике:
- Лен: Ток почиње да ради само када се претплатите.
- Отказиво: Можете се одјавити са тока да бисте зауставили његово извршавање и ослободили ресурсе.
- Више вредности: Може емитовати више вредности, док promise-ови решавају само једном.
Главне компоненте:
- Observable: Сам ток података.
- Observer: Објекат са методама
next,errorиcomplete, које позива observable. - Subscription: Резултат претплате на observable, омогућава одјаву.
- Operators: Функције које трансформишу или комбинују observable (нпр.,
map,filter,merge).
Пример употребе (RxJS):
import { of } from 'rxjs';
import { map } from 'rxjs/operators';
const source = of(1, 2, 3); // Креирамо observable који емитује 1, 2, 3
const example = source.pipe(map(x => x + 1)); // Примењујемо оператор map
const subscription = example.subscribe({ // Претплаћујемо се на observable
next: value => console.log(`Next: ${value}`), // Обрада сваке вредности
error: err => console.error(`Error: ${err}`), // Обрада грешке
complete: () => console.log('Complete!') // Позива се при завршетку
});
// излаз:
// Next: 2
// Next: 3
// Next: 4
// Complete!
// subscription.unsubscribe(); // Може се отказати претплата