Middle
Observable nima?
sobes.tech AI
AIdan javob
Observable — bu ma'lumot oqimi bo'lib, u asinxron tarzda qiymatlarni chiqarishi mumkin. Promisslardan farqli o'laroq, observable nol, bitta yoki bir nechta qiymatlarni vaqt o'tishi bilan chiqarishi mumkin.
Asosiy xususiyatlar:
- Lazily: Oqim faqat obuna bo'lganda boshlanadi.
- Bekor qilinadigan: Oqimdan chiqish mumkin, bu uning bajarilishini to'xtatadi va resurslarni ozod qiladi.
- Bir nechta qiymat: Bir nechta qiymatlarni chiqarishi mumkin, promisslar esa faqat bir marta hal qilinadi.
Asosiy komponentlar:
- Observable: Oqimning o'zi.
- Observer:
next,errorvacompletemetodlariga ega obyekt, observable tomonidan chaqiriladi. - Subscription: Observable'ga obuna bo'lish natijasi, obunadan chiqishga imkon beradi.
- Operatorlar: Observable'ni transformatsiya qiladigan yoki birlashtiradigan funksiyalar (
map,filter,merge).
Misol (RxJS):
import { of } from 'rxjs';
import { map } from 'rxjs/operators';
const source = of(1, 2, 3); // 1, 2, 3 chiqaradigan observable yaratamiz
const example = source.pipe(map(x => x + 1)); // map operatorini qo'llaymiz
const subscription = example.subscribe({ // Observable'ga obuna bo'lamiz
next: value => console.log(`Next: ${value}`), // Har bir qiymatni ishlash
error: err => console.error(`Error: ${err}`), // Xatolikni ishlash
complete: () => console.log('Complete!') // Yakuniy chaqiriladi
});
// chiqish:
// Next: 2
// Next: 3
// Next: 4
// Complete!
// subscription.unsubscribe(); // Obunani bekor qilish mumkin