Sobes.tech
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, error va complete metodlariga 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