Sobes.tech
Middle

რა არის observable?

sobes.tech AI

პასუხი AI-სგან

Observable — ეს არის მონაცემთა ნაკადი, რომელიც შეიძლება ასინქრონულად გამოუშვას მნიშვნელობები. განსხვავებით promises-ებისგან, რომლებიც აბრუნებენ მხოლოდ ერთ მნიშვნელობას, observable შეუძლია გამოუშვას ნული, ერთი ან რამდენიმე მნიშვნელობა დროის განმავლობაში.

ძირითადი მახასიათებლები:

  • სასაცილოა: ნაკადი იწყებს მუშაობას მხოლოდ მაშინ, როდესაც მასზე გამოწერა ხდება.
  • გაუქმებადი: შესაძლებელია გამოწერის გაუქმება, რათა შეჩერდეს მისი შესრულება და განთავისუფლდეს რესურსები.
  • მრავალი მნიშვნელობა: შეუძლია გამოუშვას რამდენიმე მნიშვნელობა, მაშინ როდესაც promises-ები იხსნება მხოლოდ ერთხელ.

ძირითადი კომპონენტები:

  • 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(); // გამოწერის გაუქმება შესაძლებელია