Latest web development tutorials

ฟังก์ชั่น Node.js

ใน JavaScript, ฟังก์ชั่นเป็นพารามิเตอร์ฟังก์ชั่นอื่นได้รับ เราสามารถกำหนดฟังก์ชั่นและจากนั้นผ่านไปจะกำหนดโดยตรงในฟังก์ชั่นการถ่ายโอนสถานที่

Node.js ใช้ฟังก์ชั่นที่คล้ายกับจาวาสคริปต์สำหรับตัวอย่างเช่นคุณสามารถทำสิ่งนี้:

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

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

execute(say, "Hello");

รหัสข้างต้นเราบอกว่าฟังก์ชั่นเป็นอาร์กิวเมนต์แรกดำเนินการได้ผ่านฟังก์ชั่น ผลตอบแทนนี้ไม่ได้เป็นค่าตอบแทนของพูด แต่บอกตัวเอง!

ดังนั้นพูดจะกลายเป็นตัวแปรท้องถิ่นดำเนินการ someFunction ดำเนินการโดยการเรียก someFunction () (ในรูปของวงเล็บ) ที่จะบอกว่าการใช้ฟังก์ชั่น

แน่นอนเพราะบอกว่ามีตัวแปรดำเนินการดังกล่าวสามารถส่งผ่านตัวแปรเมื่อโทร someFunction


ฟังก์ชั่นที่ไม่ระบุชื่อ

เราสามารถใส่ฟังก์ชั่นที่ผ่านเป็นอาร์กิวเมนต์ แต่เราไม่จำเป็นต้องเกี่ยวกับเรื่องนี้ "ที่กำหนดไว้ก่อนแล้วผ่าน" วงกลมที่เราสามารถกำหนดฟังก์ชั่นอื่นในวงเล็บและผ่านฟังก์ชั่นนี้

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

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

เรายอมรับอาร์กิวเมนต์แรกในกำหนดดำเนินการโดยตรงที่เราพร้อมที่จะส่งผ่านไปยังฟังก์ชั่นการดำเนินการ

ด้วยวิธีนี้เราไม่ได้มีชื่อสำหรับฟังก์ชั่นนี้ซึ่งเป็นเหตุผลที่เรียกว่าฟังก์ชั่นที่ไม่ระบุชื่อ


ฟังก์ชั่นการถ่ายโอนเป็นวิธีการที่จะได้รับการทำงานของเซิร์ฟเวอร์ HTTP

ด้วยความรู้นี้เรามองไปที่เซิร์ฟเวอร์ HTTP ที่เรียบง่าย แต่ไม่ง่ายของเรา:

var http = require("http");

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

ตอนนี้มันดูมากควรมีความชัดเจน: เราผ่านฟังก์ชั่นที่ไม่ระบุชื่อฟังก์ชั่น createServer

รหัสดังกล่าวยังสามารถบรรลุวัตถุประสงค์เดียวกัน:

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);