ฟังก์ชันการเรียกกลับ Node.js
โดยตรงสะท้อนให้เห็นถึงการเขียนโปรแกรม Node.js ตรงกันคือการเรียกกลับ
อาศัยการเขียนโปรแกรมไม่ตรงกันโทรกลับเพื่อให้บรรลุ แต่ไม่สามารถพูดได้ว่าหลังจากที่ใช้โทรกลับของโปรแกรมไม่ตรงกัน
ฟังก์ชั่นการโทรกลับจะถูกเรียกว่าหลังจากเสร็จสิ้นงานโหนดใช้จำนวนมากของการเรียกกลับโหนด API รองรับฟังก์ชั่นการโทรกลับทั้งหมด
ตัวอย่างเช่นเราสามารถอ่านไฟล์ด้านในขณะที่การดำเนินการตามคำสั่งอื่น ๆ หลังจากที่ได้อ่านเอกสารเสร็จแล้วเราจะยื่นเนื้อหาเป็นอาร์กิวเมนต์ผลตอบแทนฟังก์ชันการเรียกกลับ ในการปฏิบัติงานของรหัสที่จะไม่ถูกบล็อกหรือรอไฟล์ I / O การดำเนินงาน นี้ช่วยเพิ่มประสิทธิภาพการทำงานของ Node.js สามารถจัดการเป็นจำนวนมากพร้อมกัน
การปิดกั้นตัวอย่างโค้ด
สร้าง input.txt ไฟล์อ่านดังนี้
本教程官网地址:www.w3big.com
สร้างไฟล์ main.js ดังต่อไปนี้:
var fs = require("fs"); var data = fs.readFileSync('input.txt'); console.log(data.toString()); console.log("程序执行结束!");
รหัสข้างต้นจะถูกดำเนินการดังต่อไปนี้:
$ node main.js 本教程官网地址:www.w3big.com 程序执行结束!
non-blocking ตัวอย่างโค้ด
สร้าง input.txt ไฟล์อ่านดังนี้
本教程官网地址:www.w3big.com
สร้างไฟล์ main.js ดังต่อไปนี้:
var fs = require("fs"); fs.readFile('input.txt', function (err, data) { if (err) return console.error(err); console.log(data.toString()); }); console.log("程序执行结束!");
รหัสข้างต้นจะถูกดำเนินการดังต่อไปนี้:
$ node main.js 程序执行结束! 本教程官网地址:www.w3big.com
เราเข้าใจข้างต้นสองตัวอย่างของการปิดกั้นแตกต่างกันและโทรไม่ปิดกั้น หลังจากที่ตัวอย่างแรกของไฟล์ที่ถูกอ่านก่อนที่จะดำเนินโปรแกรม ตัวอย่างที่สองที่เราไม่จำเป็นต้องรอที่จะอ่านไฟล์ที่สมบูรณ์เพื่อให้รหัสต่อไปสามารถดำเนินการได้ในเวลาเดียวกันในขณะที่อ่านไฟล์อย่างมากการปรับปรุงประสิทธิภาพการทำงานของโปรแกรม
ดังนั้นโดยการปิดกั้นมันจะถูกดำเนินการตามลำดับในขณะที่ยังไม่ปิดกั้นไม่จำเป็นต้องใช้ในการสั่งซื้อดังนั้นหากคุณต้องการที่จะจัดการกับพารามิเตอร์ของฟังก์ชันการเรียกกลับเราจำเป็นที่จะเขียนในฟังก์ชันการเรียกกลับ