Node.js Geri Bildirim

Yazıda Node.js callback veya geri bildirim fonksiyonları ile ilgili bilgi ve örnekler yer almaktadır.

Geri bildirim fonksiyonları konusunun anahtar kelimesi JavaScript’te fonksiyonların bir nesne olduğudur.

Nesneler bellek bilgisini tutan özel bir veri türüdür.

JavaScript nesne veri türü hakkında detaylı bilgiye JavaScript Dersleri bölümündeki JavaScript Nesneler ve JavaScript Nesne Yönelimli Programlama makalelerinden bakabilirsiniz.

Geri bildirim fonksiyonları JavaScript’te sıklıkla kullanılır.

Geri bildirim fonksiyonları başka bir fonksiyona geçirilen parametre fonksiyonudur.

Geri bildirim fonksiyonları parametre olarak geçirilen fonksiyonun içinden çağrılır.

Konunun daha iyi anlaşılabilmesi için aşağıdaki kodlar faydalı olacaktır.

'use strict';

function merhaba(basla, bitir) {

  basla('İşlem başladı.');

  console.log('Burada uzun bir işlem yer alıyor.');

  bitir('İşlem bitti.');

}

merhaba(f1, f2);

function f1(msj) {

  console.log(msj);

}

function f2(msj) {

  console.log(msj);

}

Geri bildirim fonksiyonları aşağıdaki gibi anonim fonksiyon olarakta yazılabilir.

'use strict';

function merhaba(basla, bitir) {

  basla('İşlem başladı.');

  console.log('Burada uzun bir işlem yer alıyor.');

  bitir('İşlem bitti.');

}

merhaba(function (msj) {

  console.log(msj);

}, function (msj) {

  console.log(msj);

});

JavaScript içerisinde yer alan geri bildirim fonksiyonları sayesinde Node.js asenkron programlamaya imkan vermektedir.

Bu sayede bir işlemin diğer işlemi beklemeden devam etmesi sağlanır.

Node.js’te bulunan çoğu nesne metodu ve fonksiyon bu yapının kullanımına imkan verir.

dosya.txt içeriği aşağıdaki gibidir.

Merhaba Node.js

Node.js asenkron dosya okuma ve anonim geri bildirim fonksiyonunun kullanımı aşağıda yer almaktadır.

'use strict';

const fs = require('fs');

fs.readFile('dosya.txt', 'utf-8', function (err, data) {

  if (err) throw err;

  console.log(data);

});

console.log('Dosya okundu.');

Yazılan kodlar çalıştırıldığında aşağıdaki gibi bir sonuç verecektir.

node index.js
Dosya okundu
Merhaba Node.js

Node.js Derslerine buradan ulaşabilirsiniz…

Hayırlı günler dilerim.

Yusuf SEZER

Yusuf SEZER

Computer Engineer who interested about web technologies, algorithms, artificial intelligence and embedded systems; constantly exploring new technologies.


Bunlara'da bakmalısın!