Latest web development tutorials

fungsi Node.js

Dalam JavaScript, fungsi sebagai parameter ke fungsi lain menerima. Kita bisa mendefinisikan fungsi, dan kemudian lulus untuk didefinisikan secara langsung dalam fungsi transfer dari tempat.

Node.js menggunakan fungsi yang mirip dengan Javascript, misalnya, Anda dapat melakukan ini:

function say(word) {
  console.log(word);
}

function execute(someFunction, value) {
  someFunction(value);
}

execute(say, "Hello");

Kode di atas, kita katakan fungsi sebagai argumen pertama menjalankan fungsi-fungsi yang berlalu. kembali ini bukan nilai kembali dari katakanlah, tetapi mengatakan itu sendiri!

Jadi, katakan menjadi mengeksekusi variabel lokal someFunction, mengeksekusi dengan memanggil someFunction () (dalam bentuk tanda kurung) mengatakan penggunaan fungsi.

Tentu saja, karena mengatakan ada variabel, mengeksekusi bisa lulus variabel seperti saat memanggil someFunction.


fungsi anonim

Kita dapat menempatkan fungsi dilewatkan sebagai argumen. Tapi kita tidak perlu tentang ini "pertama kali didefinisikan, dan kemudian lulus," lingkaran, kita dapat mendefinisikan fungsi lain dalam tanda kurung dan lulus fungsi ini:

function execute(someFunction, value) {
  someFunction(value);
}

execute(function(word){ console.log(word) }, "Hello");

Kami menerima argumen pertama dalam mengeksekusi langsung mendefinisikan mana kami siap untuk lulus untuk melaksanakan fungsi.

Dengan cara ini, kita bahkan tidak memiliki nama untuk fungsi ini, yang mengapa itu disebut fungsi anonim.


fungsi transfer adalah bagaimana untuk mendapatkan pekerjaan HTTP server

Dengan pengetahuan ini, kita melihat sederhana tetapi tidak sederhana HTTP server kami:

var http = require("http");

http.createServer(function(request, response) {
  response.writeHead(200, {"Content-Type": "text/plain"});
  response.write("Hello World");
  response.end();
}).listen(8888);

Sekarang terlihat jauh harus jelas: kita lulus fungsi anonim fungsi createServer.

kode tersebut juga dapat mencapai tujuan yang sama:

var http = require("http");

function onRequest(request, response) {
  response.writeHead(200, {"Content-Type": "text/plain"});
  response.write("Hello World");
  response.end();
}

http.createServer(onRequest).listen(8888);