Middle
Observable деген эмне?
sobes.tech AI
AIден жооп
Observable — бул объект, ал эми ал маалыматтардын агымын же окуяларды көрсөтөт, ал асинхрондуу болушу мүмкүн. Көзөмөлдөнүүчү булактары белгилүү бир убакыт аралыгында маанилерди чыгара алат, ал эми жазылуучулар (Subscribers же Observers) бул маанилер пайда болгондо реакция кылышы мүмкүн.
Негизги түшүнүктөр:
- Observable (Көзөмөлдөнүүчү булак): Маалымат же окуялар булагы.
- Observer (Көзөмөлдөөчү):
next,error,completeметоддору менен Observable'ден келген окуяларга реакция кылган объект:next: Кийинки маанини алуу:error: Ката пайда болушу:complete: Маалымат агымын аяктоо:
- Subscription (Жазылуу): Observable менен Observer ортосундагы байланыш. Жазылуу
subscribeыкмасын колдонуу менен түзүлөт: - Operators (Операторлор): Observable агымдарын түрлөргө бөлүү, бириктирүү жана башкаруу үчүн функциялар. Мисалдар:
map,filter,mergeMap,debounceTime.
Observable Promises'тен айырмаланып, ал убакыттын өтүшү менен көптөгөн маанилерди чыгара алат, ал эми бир жолу гана асинхрондуу окуяны көрсөтөт.
RxJS колдонуу мисалы (популярдуу реактивдүү программалоо китепканасы):
import { Observable } from 'rxjs';
import { map } from 'rxjs/operators';
// Массивден Observable түзүү
const source = new Observable(observer => {
observer.next(1);
observer.next(2);
observer.next(3);
observer.complete(); // Аякталуу
});
// Жазылуу жана операторду колдонуу
const subscription = source.pipe(
map(value => value * 2) // `map` оператору ар бир маанини эки эсеге көбөйтөт
).subscribe({
next: value => console.log(value), // Маанилерди алуу: 2, 4, 6
error: err => console.error(err), // Каталарды иштетүү
complete: () => console.log('Complete!') // Аякталуу
});
Негизги артыкчылыктары:
- Реактивдүү программалоо: асинхрондуу маалымат агымдарын оңой башкаруу.
- Композициялоо: операторлор аркылуу агымдарды оңой бириктирүү жана түрлөргө бөлүү.
- Өмүр циклін башкаруу: жазылуу аркылуу маалымат алуу процесин так көзөмөлдөө жана эс тутумдун агып кетишин алдын алуу.