Node.js là một môi trường thời gian chạy phổ biến cho phép các nhà phát triển xây dựng các ứng dụng hiệu quả và có thể mở rộng. Một trong những tính năng cốt lõi của Node.js là khả năng xử lý mã không đồng bộ, điều cần thiết để xây dựng các ứng dụng hiệu năng cao. Mã không đồng bộ có thể khó quản lý, đặc biệt là khi xử lý các hoạt động phức tạp hoặc các tác vụ chạy trong thời gian dài. Đây là nơi hứa hẹn xuất hiện, cung cấp một cách đơn giản và hiệu quả để xử lý các hoạt động không đồng bộ trong Node.js.
Trong bài viết này, chúng ta sẽ khám phá khái niệm về lời hứa trong Node.js và lý do tại sao chúng lại quan trọng để xây dựng các ứng dụng hiện đại.
Lời hứa là gì?
Nói một cách đơn giản, một lời hứa là một đối tượng đại diện cho một giá trị có thể chưa có sẵn. Lời hứa được sử dụng để xử lý các hoạt động không đồng bộ trong JavaScript, chẳng hạn như tạo yêu cầu mạng hoặc đọc tệp từ đĩa.
Một lời hứa có ba trạng thái:
Tạo một lời hứa trong Node.js
Tạo một lời hứa trong Node.js rất đơn giản. Chúng tôi sử dụng hàm tạo Promise để tạo một lời hứa mới và chuyển một hàm thực hiện thao tác không đồng bộ. Hàm nhận hai đối số, giải quyết và từ chối, cho biết thao tác có thành công hay không.
Đây là một ví dụ tạo ra một lời hứa sẽ giải quyết sau một giây chậm trễ:
const myPromise = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Operation successful!');
}, 1000);
});
Xử lý kết quả lời hứa
Khi một lời hứa được tạo, chúng ta có thể sử dụng phương thức then để xử lý kết quả. Phương thức then lấy hai hàm làm đối số, một hàm để xử lý thao tác thành công và một hàm để xử lý lỗi.
Đây là một ví dụ sử dụng lời hứa được tạo ở trên để ghi kết quả vào bảng điều khiển:
myPromise.then((result) => {
console.log(result);
}).catch((error) => {
console.error(error);
});
Xâu chuỗi lời hứa
Một trong những tính năng mạnh mẽ của lời hứa là khả năng xâu chuỗi chúng lại với nhau. Điều này cho phép chúng tôi thực hiện một loạt các hoạt động không đồng bộ theo trình tự mà không cần gọi lại lồng nhau.
Đây là một ví dụ kết hợp hai lời hứa với nhau:
const getUser = (id) => {
return new Promise((resolve, reject) => {
setTimeout(() => {
const user = { id, name: 'John Doe' };
resolve(user);
}, 1000);
});
};
const getPosts = (user) => {
return new Promise((resolve, reject) => {
setTimeout(() => {
const posts = [{ id: 1, title: 'Post 1' }, { id: 2, title: 'Post 2' }];
resolve({ user, posts });
}, 1000);
});
};
getUser(1)
.then(getPosts)
.then((result) => {
console.log(result);
})
.catch((error) => {
console.error(error);
});
#nodejs #javascript #blockchain #promise #fullstackdeveloper
Đã bao nhiêu lần bạn vứt bỏ chai nhựa, lọ thủy tinh, lon nhôm hay gói năng lượng xanh mà không cần suy nghĩ kỹ? Đã bao nhiêu lần bạn ước mình có thể nhận được thứ gì đó để đổi lại việc tái chế chúng? Nếu bạn giống như hầu hết mọi người, câu trả lời có lẽ là nhiều lần. Tái chế thường được coi là một rắc rối, một công việc vặt hoặc một nhiệm vụ không mang lại bất kỳ lợi ích tức thời hoặc hữu hình nào.
Xin chào các Trại viên và Chủ nhật vui vẻ! Chúng tôi hy vọng rằng mọi người đã làm tốt và tận hưởng thời gian của họ kể từ lần cập nhật cuối cùng của chúng tôi. Chúng tôi có một số tin tức và kế hoạch thú vị muốn chia sẻ với bạn và chúng tôi muốn cảm ơn từng người trong số các bạn vì đã tiếp tục hỗ trợ và tham gia.
Chuyển sang một nghề nghiệp mới có thể cực kỳ khó khăn nếu bạn cố gắng làm điều đó một mình. Điều quan trọng là phải tìm được những đối tác có trách nhiệm, những người có cùng trình độ học vấn với bạn, những người có chung mục tiêu, sự kiên trì và động lực.
Đó là một buổi sáng vàng rực rỡ trên những ngọn đồi thoai thoải ở phía tây, khi những tia nắng đầu tiên chiếu sáng ngọn cỏ phủ sương trên đồng bằng. Một đàn gia súc Angus điềm đạm, đen tuyền và to lớn, in bóng dưới ánh bình minh khi chúng đi xuống con đường mòn bị đánh đập đến một địa phương mà tất cả chúng đều biết rõ; quán ăn sáng.
Khi bạn lớn lên, bạn có xu hướng được bảo rằng thế giới là như vậy và cuộc sống của bạn chỉ là sống cuộc sống của bạn trong thế giới, không bao giờ mạo hiểm cuộc sống của bạn, chỉ cần đi theo một con đường đã định sẵn và cuối cùng sẽ chết, và cố gắng không bash the wall too much.But that's a very limited life.
Tuần trước, tôi nhận thấy một thông cáo báo chí, được gửi qua PressGazette (một trang web tin tức truyền thông của Anh). Bài báo thông báo rằng Acast, công ty quảng cáo và lưu trữ podcast của Scandi, sẽ lãnh đạo một tập đoàn gồm các nhà xuất bản “có lẽ là có ảnh hưởng nhất” trong lĩnh vực podcasting.