Onur Dayıbaşı

CV
none

Callback Nedir ?

Senkron koda bir bakalım.

1console.log("Sync1");
2console.log("Sync2");
3console.log("Sync3");
4//Output => Sync1 , Sync2, Sync3

Asenkron_ koda bir bakalım. Burda timeout ile beklettiğim kısımda local bir dosyaya veya network üzerinden başka bir servise veya veritabanına çağrı yapıyor olabilirsiniz. Aşağıdaki kodda gördüğünüz gibi kodu yazdığınız sırada kod çalışmıyor.

1console.log("Async1");
2setTimeout(()=>{ console.log("Async2");},1000);
3console.log("Async3");
4//Output => Async1 , Async3, Async2

Burda 2 tip problem oluşuyor geliştiriciler için kodun işletilme takibi ve kodun okunması ve anlaşılması zorlaşıyor.

Callback sizin asenkron kod çağrımınız bittikten sonra asenkron kodun bittiğini geri bildiren kısmın handle edilmesidir.

1const waitThenCall = (waitTime, callback) => {
2 const result="success";
3 setTimeout(() => { callback(result) }, waitTime * 1000)
4}
5waitThenCall(2,(result)=>{console.log(result);});

Referanslar