1. Trang chủ
  2. » Thể loại khác

khai niem event loop trong nodejs

3 193 1

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Nội dung

http://vietjack.com/nodejs/index.jsp                                                                                                              Copyright  ©  vietjack.com     Event Loop Node.js Node.js ứng dụng đơn luồng có hỗ trợ việc xử lí đồng thời thông qua định nghĩa kiện callback Như tất API Node.js có tính chất khơng đồng xử lí đơn luồng, sử dụng hàm async để trì đồng thời Node.js sử dụng Observer Pattern Các Thread Node.js giữ Event Loop có tác vụ hồn thành, kích hoạt kiện tương ứng để báo cho Event Listener sẵn sàng thực Lập trình Event Driven Node.js Node.js sử dụng nhiều kiện, lý Node.js nhanh so với sản phẩm công nghệ khác Ngay Node khởi động Server nó, nhanh chóng khởi tạo biến, khai báo hàm sau đơn giản chờ đợi kiện xảy Trong ứng dụng xử lý kiện, nhìn chung vòng lặp lắng nghe kiện, sau trigger đến hàm callback kiện phát http://vietjack.com/                                                                                                                              Trang  chia  sẻ  các  bài  học  online  miễn  phí  Page  1   http://vietjack.com/nodejs/index.jsp                                                                                                              Copyright  ©  vietjack.com     Trong Event tương tự hàm callback Điểm khác nằm chỗ, hàm callback gọi hàm không đồng trả kết phần xử lí kiện làm việc Observer Pattern Hàm lắng nghe kiện, đóng vai trò Observers (Người quan sát) Bất kiện phát sinh, hàm Listener bắt đầu thực thi Node.js có nhiều kiện có sẵn thơng qua events Module lớpEventEmitter dựa vào để bind kiện lắng nghe kiện Trước sử dụng event Module, bạn sử dụng phương thức require() để khai báo sau: // Khai bao events module var events = require('events'); // Tao mot doi tuong eventEmitter var eventEmitter = new events.EventEmitter(); Sau đó, để gắn kết Event Handler với kiện, bạn sử dụng cú pháp sau: // Gan ket event voi Event Handler nhu sau: eventEmitter.on('eventName', eventHandler); Bạn kích hoạt kiện sử dụng phương thức emit() EventEmitter: // Kich hoat mot event eventEmitter.emit('eventName'); Ví dụ minh họa Event Loop Node.js Tạo file js với tên main.js có đoạn code sau: // Khai bao events module var events = require('events'); // Tao mot doi tuong eventEmitter var eventEmitter = new events.EventEmitter(); // Tao mot Event Handler nhu sau: var connectHandler = function connected() { console.log('Tao ket noi cong!'); // Kich hoat su kien data_received eventEmitter.emit('data_received'); } // Gan ket su kien connection voi Event Handler eventEmitter.on('connection', connectHandler); // Gan ket su kien data_received voi mot ham an danh eventEmitter.on('data_received', function(){ console.log('Du lieu duoc tiep nhan cong.'); }); // Kich hoat su kien connection eventEmitter.emit('connection'); console.log("Ket thuc chuong trinh."); Chạy chương trình sau: $ node main.js Kết là: http://vietjack.com/                                                                                                                              Trang  chia  sẻ  các  bài  học  online  miễn  phí  Page  1   http://vietjack.com/nodejs/index.jsp                                                                                                              Copyright  ©  vietjack.com     Tao ket noi cong! Du lieu duoc tiep nhan cong Ket thuc chuong trinh Cách ứng dụng Node.js hoạt động Trong ứng dụng Node.js, hàm không đồng chấp nhận callback tham số cuối hàm callback chấp nhận error tham số Cùng xem lại ví dụ trước Tạo text file với tên input.txt với nội dung sau đây: VietJack la trang Web huong dan cac bai lap trinh hoan toan mien phi cho tat ca moi nguoi!!!!! Trong ví dụ này, sử dụng fs Module để xử lý hoạt động File I/O (mình trình bày chương sau) Đầu tiên, bạn tạo file js với tên main.js sau: var fs = require("fs"); fs.readFile('input.txt', function (err, data) { (err){ console.log(err.stack); return; } console.log(data.toString()); }); console.log("Ket thuc chuong trinh"); if Ở đây, fs.readFile() hàm không đồng với mục đích để đọc file Nếu có lỗi q trình đọc file, đối tượng err chứa lỗi đó, khơng data chứa phần nội dung file Hàm readFile truyền err data đến hàm callback sau q trình đọc file hồn thành, cuối in nội dung Ket thuc chuong trinh VietJack la trang Web huong dan cac bai lap trinh hoan toan mien phi cho tat ca moi nguoi!!!!! http://vietjack.com/                                                                                                                              Trang  chia  sẻ  các  bài  học  online  miễn  phí  Page  1   ... sau: eventEmitter.on('eventName', eventHandler); Bạn kích hoạt kiện sử dụng phương thức emit() EventEmitter: // Kich hoat mot event eventEmitter.emit('eventName'); Ví dụ minh họa Event Loop Node.js... main.js có đoạn code sau: // Khai bao events module var events = require('events'); // Tao mot doi tuong eventEmitter var eventEmitter = new events.EventEmitter(); // Tao mot Event Handler nhu sau:... require('events'); // Tao mot doi tuong eventEmitter var eventEmitter = new events.EventEmitter(); Sau đó, để gắn kết Event Handler với kiện, bạn sử dụng cú pháp sau: // Gan ket event voi Event

Ngày đăng: 02/12/2017, 12:25

TỪ KHÓA LIÊN QUAN

w