- vừa được xem lúc

So sánh Microtask và Macrotask trong JavaScript qua ví dụ thực tế dễ hiểu

0 0 1

Người đăng: Mỹ

Theo Viblo Asia

So sánh Microtask và Macrotask trong JavaScript qua ví dụ thực tế dễ hiểu

Xin chào mọi người, mình là [Tên bạn] đây!

Gần đây khi ôn phỏng vấn, mình thấy có rất nhiều câu hỏi xoay quanh Event Loop, Microtask, Macrotask trong JavaScript. Bài viết này sẽ giúp bạn phân biệt rõ ràng 2 loại task này qua ví dụ minh họa dễ hiểu.


1. Event Loop là gì?

Event Loop là cơ chế giúp JavaScript xử lý bất đồng bộ (async). Dù chỉ chạy trên 1 luồng (single-threaded), nhưng nhờ Event Loop, JavaScript vẫn có thể “làm nhiều việc một lúc”.


2. Microtask vs Macrotask

Tiêu chí Microtask Macrotask
Ví dụ Promise.then, queueMicrotask() setTimeout, setInterval
Ưu tiên Cao hơn Thấp hơn
Thực thi khi nào Sau khi call stack rỗng Sau khi toàn bộ microtask xong

3. Ví dụ minh họa

console.log('Start'); setTimeout(() => { console.log('Macrotask - setTimeout');
}, 0); Promise.resolve().then(() => { console.log('Microtask - Promise');
}); console.log('End');

Bình luận

Bài viết tương tự

- vừa được xem lúc

Giải Thích về Async/Await Javascript trong 10 phút

. . Trong một thời gian rất dài, chúng ta phải dựa vào callbacks để làm việc với các đoạn code bất đồng bộ trong javascript.

0 0 50

- vừa được xem lúc

Promise, Async/Await và Map/Reduce

Promise, Async/Await và Map/Reduce. Có một cái sai mà người ta thường hay mắc phải khi làm việc với async/await, đó là khi kết hợp nó với các hàm Array.

0 0 44

- vừa được xem lúc

Async in PHP - Part 1: HTTP Client

What is async. Chắc hẳn bạn đã nghe tới cái khác niệm lập trình đồng bộ (synchronous) và lập trình bất đồng bộ (asynchronous), gọi tắt là sync và async.

0 0 105

- vừa được xem lúc

Tính toán bất đồng bộ quy mô lớn ở Facebook

Chúng ta lên Face mỗi ngày, tuy nhiên không phải ai cũng chú ý tới rằng Facebook xử lý các tương tác của chúng ta như thế nào đúng không ^^ Trên thực tế, hệ thống của Facebook phải xử lý hàng tỷ reque

0 0 63

- vừa được xem lúc

Phân biệt asynchronous và multithread trong Dart

Khi bắt đầu tìm hiểu sâu về Asynchronous và Isolate trong Dart có rất nhiều bạn đang bị nhầm lẫn giữa 2 khái niệm đồng thời (concurrency) và song song (paralleism) trong Dart. Để có thể hiểu rõ hơn về

0 0 555

- vừa được xem lúc

Tổng hợp xử lý bất đồng bộ trong Javascript: callback, promise và async

Lúc trước đi phỏng vấn có một câu hỏi là hãy kể tên các phương thức xử lý bất đồng bộ trong javascript, mình chỉ nhớ mỗ async await vì đã đọc qua ở đâu đó rồi. Nhưng lại không nhớ cú pháp chính xác.

0 0 111