Lập trình bất đồng bộ trong javascript là gì?

{{FormatNumbertoThousand(model.total_like)}} lượt thích
6.577 lượt xem

Lập trình bất đồng bộ (async) là 1 phần quan trọng trong javascript. Cách tiếp cận phổ biến là sử dụng các callback

Ví dụ như 1 lệnh ajax gửi request lên server và sau khi nhận được thành công data trả về từ server thì callback sẽ được thực hiện. Thời điểm mà callback được thực hiện không phải là ngay lập tức sau khi có request ajax mà có thể là 1 vài giây sau đó tùy thuộc vào tốc độ xử lí của server.

Ví dụ khác:

console.log('A');
console.log('B');
console.log('C');

thực hiện đoạn code trên cho ra kết quả:

A
B
C

Nhìn vào đoạn code này ta thấy nó hoạt động giống như cơ chế đồng bộ nghĩa là sẽ thực thi từng dòng lệnh một. Ta thay đổi đoạn code trên 1 chút như sau:

console.log('A');

setTimeout(function(){
   console.log('B');
}, 2000);

console.log('C');

Đoạn code trên cho ra kết quả:

A
C
B

Ta thấy rằng thay vì chờ đợi phần lệnh console.log('B') trong setTimeout() chạy xong thì lệnh console.log('C') mới thực hiện giống như cơ chế chạy đồng bộ thì lệnh console.log('C') lại trả về kết quả trước. Đây chính là điểm khác nhau giữa cơ chế bất đồng bộ và đồng bộ trong việc lập trình javascript.

Câu hỏi tiếp theo: Strict mode trong JavaScript là gì?
{{login.error}}