Sử dụng kết quả callback
Thuộc phần Kiến thức cơ bản về Node.js trong hành trình Node.js của Coddy. Bài học 17 trên 33.
Việc đọc tệp có thể hoàn tất sau khi dòng tiếp theo trong chương trình của bạn đã chạy. Callback là một hàm được truyền cho hàm khác để gọi sau. readFile gọi hàm của bạn khi tệp đã sẵn sàng. Hàm này truyền lỗi trước, rồi đến nội dung tệp.
readFile('greeting.txt', 'utf8', (err, text) => {
if (err) return;
console.log(text);
});Đặt những việc cần dùng nội dung tệp bên trong hàm này. Ở bên ngoài, nội dung tệp vẫn chưa có. Mã khởi đầu đã có phần import và nhánh xử lý lỗi; hãy tập trung dùng kết quả thành công.
Thử thách
DễChạy practice.js trước. Đoạn code gặp lỗi vì text vẫn chưa được xác định khi dòng cuối chạy; quá trình đọc tệp chưa hoàn tất.
Chuyển phần xử lý cần nội dung tệp đến vị trí sau khi đọc xong. In nội dung thành chữ in hoa, giữ lại nhánh xử lý lỗi. Xóa biến text bên ngoài khi không còn cần dùng đến. Nếu không có đối số, kết quả mong đợi là BUY MILK. Với other.txt, kết quả mong đợi là CALL ADA.
Tự làm thử
import { readFile } from 'node:fs';
const file = process.argv[2] ?? 'note.txt';
let text;
readFile(file, 'utf8', (err, contents) => {
if (err) return;
text = contents;
});
console.log(text.toUpperCase());
Tất cả bài học trong Kiến thức cơ bản về Node.js
1Chạy JavaScript trên Node
Xin chào, NodeĐọc lệnhĐối số dòng lệnhCác lệnh4Node bất đồng bộ
Sử dụng kết quả callbackCallbackKết quả PromiseKhi Promise thất bạiPromiseChờ một giá trịAsync và awaitHai lần đọc độc lậpPromise.allEvent LoopBộ hẹn giờTự luyện tập: Playground Express