2 Haziran 2019 Pazar

Java 8 Lambda Kullanimi

Parametreli methodlarda lambda kullanimi
(argument-list) -> {body}

Asagidaki ornekte ilk once klasik yontemle instance olusturarak, daha sonra ise lambda ile gosterim yapilmistir.


Metod parametre almadigi zaman ise asagidaki sekilde lambda kulanilir.



JS Callback and JS Promise


JS Callback


function adimiYaz(ad){console.log("Gamze");}

function soyadimiYaz(ad){console.log("Sen");}

function adimiYaz(ad){console.log(ad);}

function soyadimiYaz(soyad){console.log(soyad);}

adimiYaz("gamze");

gamze

adimiYaz("gamze"); soyadimiYaz("sen");

gamze
sen

function adimiYaz(ad){ setTimeout(function(){ console.log(ad);}, 2000);}

function soyadimiYaz(soyad){setTimeout(function(){console.log(soyad);}, 1000);}

adimiYaz("gamze"); soyadimiYaz("sen");

 sen
gamze

function adimiYaz(ad){ setTimeout(function(){ console.log(ad);}, 4000);}

function soyadimiYaz(soyad){setTimeout(function(){console.log(soyad);}, 1000);}

adimiYaz("gamze"); soyadimiYaz("sen");

 sen
gamze

function adimiYaz(ad, callback){ setTimeout(function(){ console.log(ad); callback("sen"); }, 4000);}

function soyadimiYaz(soyad){setTimeout(function(){console.log(soyad);}, 1000);}

adimiYaz("Gamze", soyadimiYaz);

 Gamze
sen

 JS Promise

 let sonuc = false;

let islem = new Promise(function(resolve, reject){
                if(sonuc){
               resolve("Basarili");
  }else{
               reject("Hatali");
  }
});

islem.then(function(data){
                console.log(data);
}).catch(function(data){
                console.log(data);
});

Hatali

 let req1 = new Promise(function(resolve, reject){
                setTimeout(function(){
               resolve("First");
  }  ,2000);

});

let req2 = new Promise(function(resolve, reject){
                setTimeout(function(){
               reject("Second");
  } , 3000);

});

Promise.all([req1, req2]).then(function(results){
                console.log("Then: ", results);
}).catch(function(err){
                console.log("Catch: ", err);
});

 Catch:  Second

 let req3 = new Promise(function(resolve, reject){
                setTimeout(function(){
               resolve("First");
  }  ,2000);

});

let req4 = new Promise(function(resolve, reject){
                setTimeout(function(){
               reject("Second");
  } , 3000);

});

Promise.race([req3, req4]).then(function(results){
                console.log("Then: ", results);
}).catch(function(err){
                console.log("Catch: ", err);
});



Then:  First



Ornekler cesitli sitelerden alinmistir.