RxJS - Gözlemlenebilirler

Gözlenebilir, bir gözlemci oluşturan ve onu değerlerin beklendiği kaynağa ekleyen bir işlevdir, örneğin tıklamalar, bir dom öğesinden fare olayları veya bir Http isteği vb.

Observer is an object with callback functions, Gözlemlenebilir ile etkileşim olduğunda çağrılacak, yani kaynak örnek bir düğme tıklaması, Http talebi vb. için etkileşim kurdu.

Bu bölümde aşağıdaki konuları tartışacağız -

  • Gözlemlenebilir Oluştur
  • Gözlemlenebilir Abone Ol
  • Gözlemlenebilirliği Yürüt

Gözlemlenebilir Oluştur

Gözlemlenebilir, gözlemlenebilir yapıcı kullanılarak ve ayrıca gözlemlenebilir oluşturma yöntemi kullanılarak ve abone fonksiyonunu aşağıda gösterildiği gibi bir argüman olarak iletilerek oluşturulabilir -

testrx.js

import { Observable } from 'rxjs';

var observable = new Observable(
   function subscribe(subscriber) {
      subscriber.next("My First Observable")
   }
);

Kullanarak bir gözlemlenebilir oluşturduk ve "İlk Gözlemlenebilirim" mesajını ekledik. subscriber.next Gözlemlenebilir içinde mevcut yöntem.

Ayrıca aşağıda gösterildiği gibi Observable.create () yöntemini kullanarak Observable oluşturabiliriz -

testrx.js

import { Observable } from 'rxjs';
var observer = Observable.create(
   function subscribe(subscriber) {
      subscriber.next("My First Observable")
   }
);

Gözlemlenebilir Abone Ol

Bir gözlemlenebilirliğe aşağıdaki şekilde abone olabilirsiniz -

testrx.js

import { Observable } from 'rxjs';

var observer = new Observable(
   function subscribe(subscriber) {
      subscriber.next("My First Observable")
   }
);
observer.subscribe(x => console.log(x));

Gözlemci abone olduğunda, Gözlemlenebilir'in yürütülmesine başlayacaktır.

Tarayıcı konsolunda gördüğümüz şey bu -

Gözlemlenebilirliği Yürüt

Bir gözlemlenebilir, abone olduğunda yürütülür. Gözlemci, bildirilen üç yöntemi olan bir nesnedir,

next() - Bu yöntem bir sayı, dize, nesne vb. Değerler gönderir.

complete() - Bu yöntem herhangi bir değer göndermez ve gözlemlenebilir olanın tamamlandığını gösterir.

error() - Bu yöntem varsa hatayı gönderecektir.

Üç bildirimin tümü ile gözlemlenebilir olanı oluşturalım ve aynısını yapalım.

testrx.js

import { Observable } from 'rxjs';
var observer = new Observable(
   function subscribe(subscriber) {
      try {
         subscriber.next("My First Observable");
         subscriber.next("Testing Observable");
         subscriber.complete();
      } catch(e){
         subscriber.error(e);
      }
   }
);
observer.subscribe(x => console.log(x), (e)=>console.log(e), 
   ()=>console.log("Observable is complete"));

Yukarıdaki kodda, sonraki, tamamlama ve hata yöntemini ekledik.

try{
   subscriber.next("My First Observable");
   subscriber.next("Testing Observable");
   subscriber.complete();
} catch(e){
   subscriber.error(e);
}

Bir sonraki, tamamlama ve hatayı gerçekleştirmek için, aşağıda gösterildiği gibi abone olma yöntemini çağırmalıyız -

observer.subscribe(x => console.log(x), (e)=>console.log(e), 
   ()=>console.log("Observable is complete"));

Hata yöntemi, yalnızca bir hata varsa çağrılacaktır.

Bu, tarayıcıda görülen çıktıdır -