Kiến thức về bất đồng bộ(asynchronous) trong JavaScript
Kiến thức về bất đồng bộ trong JavaScript
Bất đồng bộ (asynchronous) là một khái niệm quan trọng trong lập trình JavaScript. Nó cho phép thực thi các tác vụ song song, không chặn luồng chính của chương trình. Nhờ vậy, giao diện người dùng (UI) có thể phản hồi nhanh hơn và mượt mà hơn.
Có ba cách chính để xử lý bất đồng bộ trong JavaScript:
Callback: Đây là cách truyền thống để xử lý bất đồng bộ trong JavaScript. Một hàm callback được truyền vào hàm bất đồng bộ để được thực thi sau khi tác vụ bất đồng bộ hoàn thành.
JavaScript
function loadData(url, callback) {
// Thực hiện tác vụ bất đồng bộ (ví dụ: tải dữ liệu từ URL)
// ...
// Sau khi tác vụ bất đồng bộ hoàn thành, gọi hàm callback
callback(data);
}
loadData('https://example.com/data.json', function(data) {
// Xử lý dữ liệu sau khi tải xong
console.log(data);
});Promise: Promise là một đối tượng JavaScript cung cấp một cách thức hứa hẹn sẽ cung cấp dữ liệu hoặc lỗi trong tương lai. Promise có thể được sử dụng để tạo chuỗi các tác vụ bất đồng bộ.
JavaScript
Hãy thận trọng khi sử dụng các đoạn mã.content_copy
Async/await: Async/await là một cú pháp mới được giới thiệu trong ES2017 để đơn giản hóa việc xử lý Promise. Nó cho phép viết code bất đồng bộ như code đồng bộ.
JavaScript
Hãy thận trọng khi sử dụng các đoạn mã.content_copy
Lợi ích của lập trình bất đồng bộ:
Cải thiện hiệu suất: Cho phép thực thi các tác vụ tốn thời gian mà không chặn luồng chính, giúp giao diện người dùng phản hồi nhanh hơn.
Dễ viết code: Cung cấp các cách thức đơn giản để xử lý các tác vụ bất đồng bộ, giúp code dễ đọc và dễ hiểu hơn.
Tăng tính linh hoạt: Cho phép tạo các ứng dụng phức tạp với nhiều tác vụ chạy song song.
Ví dụ bài toán thực tế:
Giả sử ta có một trang web bán hàng trực tuyến. Khi người dùng thêm sản phẩm vào giỏ hàng, ta cần cập nhật số lượng sản phẩm trong giỏ hàng hiển thị trên giao diện.
Sử dụng callback:
JavaScript
Sử dụng Promise:
JavaScript
Sử dụng async/await:
JavaScript
Last updated