VietTuts

Tự Học Lập Trình Online

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • C#
  • Python
  • PHP
  • Excel
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • HTML5
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Eclipse
    • Phần mềm tiện ích
    • Cấu trúc DL&GT
    • Selenium Test

Học Node.js

Node.js là gì? Cài đặt Node.js Giới thiệu qua về Module Ứng dụng Hello World REPL Terminal Node.js NPM Callback trong Node.js Event Loop trong Node.js Lớp EventEmitter Khái niệm Buffer Khái niệm Stream Đọc/Ghi File Các đối tượng Global Đối tượng Console Đối tượng Process Giới thiệu Express Framework RESTFul API là gì? Một số Utility Module Web Module OS Module path Module net Module dns Module domain Module
1 / 3
❮ ❯

Callback trong Node.js


NPM trong Node.js
Event Loop trong Node.js

Nội dung chính

  • Callback là gì?
  • Ví dụ Blocking Code
  • Ví dụ Non-Blocking Code

Callback là gì?

Callback có tính chất không đồng bộ. Một hàm callback được gọi khi hoàn thành một nhiệm vụ cụ thể. Tất cả các API của Node đều được viết theo các cách của hàm callback. Xem ví dụ để hiểu callback trong node.js

Ví dụ, với một hàm đọc file bắt đầu với việc đọc file và hệ thống tiếp tục thực thi lệnh tiếp theo. Khi phần đọc file được hoàn thành, nó sẽ gọi về một hàm callback, với nội dung của file là tham số. Do đó sẽ không có blocking hoặc chờ khi đọc File mà hệ thống vẫn tiếp tục thực thi các lệnh tiếp theo. Nó làm cho Node.js có hiệu năng cao hơn, như có số lượng request cao hơn mà không cần phải chờ kết quả trả về.


Ví dụ Blocking Code

Tạo một dòng text với tên input.txt với nội dung sau đây:


Vi du Callback trong Node.js

Tạo một file js với tên callback1.js với nội dung sau đây:


var fs = require("fs");
var data = fs.readFileSync('input.txt');
console.log(data.toString());
console.log("Ket thuc chuong trinh.");

Bây giờ chạy lệnh sau để xem kết quả:


> node callback1.js

Kết quả:

Callback trong Node.js

Ví dụ Non-Blocking Code

Tạo một file với tên input.txt với nội dung sau đây:


Vi du Callback trong Node.js

Cập nhật callback2.js với dòng code sau:


var fs = require("fs");
fs.readFile('input.txt', function (err, data) {
    if (err) {
        return console.error(err);
    }
    console.log(data.toString());
});
console.log("Ket thuc chuong trinh.");

Bây giờ chạy callback2.js để xem kết quả:


> node callback2.js

Kết quả:

Callback trong Node.js

Hai ví dụ trên giải thích định nghĩa cách gọi blocking và non-blocking. Ví dụ đầu tiên chỉ ra rằng chương trình bị khóa cho đến khi nó hoàn thành nhiệm vụ đọc file và chỉ tiếp tục chạy vài giây sau đó, chương trình thứ 2 không đợi cho việc đọc file và tiếp tục in "Ket thuc chuong trinh." cùng thời điểm thực hiện chương trình.


NPM trong Node.js
Event Loop trong Node.js

Recent Updates

Domain Module trong Node.jsDNS Module trong Node.jsNet Module trong Node.jsPath Module trong Node.jsOS Module trong Node.jsWeb Module trong Node.jsUtility Module trong Node.jsRestFul API trong Node.jsExpress Framework trong Node.jsĐối tượng Process trong Node.jsĐối tượng Console trong Node.jsĐối tượng Global trong Node.jsSắp Tết 2026 Rồi! - Còn bao nhiêu ngày nữa là đến tết 2026?

VietTuts on facebook

Học Lập Trình Online Miễn Phí - VietTuts.Vn
Danh Sách Bài Học

Học Java | Hibernate | Spring
Học Excel | Excel VBA
Học Servlet | JSP | Struts2
Học C | C++ | C#
Học Python
Học SQL

Bài Tập Có Lời Giải

Bài tập Java
Bài tập C
Bài tập C++
Bài tập C#
Bài tập Python
Ví dụ Excel VBA

Câu Hỏi Phỏng Vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | Liên hệ | Chính sách - riêng tư | sitemap.html | sitemap_index.xml