RxJS Kütüphanesinde Defer Operator’ın Kullanımı

Bu makalemde RxJS kütüphanesinde Defer operator’ının kullanımını ele alıcam. Bu operator özellikle tarih alanları ile çalışıldığı zaman çok bir çok avantajlar sunuyor. Subscribe olduğun zaman tarih bilgisini bize sunuyor.

Örnek olarak new Date() methodu ile bir tarih oluşturuyoruz, biz buna subscrible olduğumuz zaman bu tarihi bize döndürür. Normalde new Date() methodu geriye tarih döndürürken Defer ile o anda değeri döndürür. Örnek vermek gerekirse;

import { Component } from '@angular/core';
import { range, timer, defer, of } from "rxjs";

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  title = 'RxJs Ktüphanesi';
  subscribe: any;
  constructor() {
    const map = new Map();
    map.set(1, "Kitaplar");
    map.set(2, "Kalemler");
    map.set(3, "Silgiler");

    const publisher = of(new Date());

    const publisher2 = defer(() => of(new Date()));
    const mytimer = timer(3000);

    mytimer.subscribe(data => {
      publisher.subscribe(val1 => {
        console.log("of=>" + val1);
      })
      publisher2.subscribe(val2 => {
        console.log("defer=>" + val2);
      })
    });
  }
} 

3 saniye sonra başlayacak bir timer oluşturduk. Of Methodu ile iki adet const değişkeni tanımlıyoruz. İlgili kodun çıktısı aşağıdaki gibi olacaktır. İlk değişken oluştuğu anda Date oluşturulurken Defer Operator‘ını subscribe olduğu zaman tanımlandı.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir