Sự khác biệt giữa setTimeout(fn,0)
và setImmediate(fn)
là gì?
Sự khác biệt giữa setTimeout(fn,0)
và setImmediate(fn)
là gì?
Sự khác biệt giữa setTimeout(fn,0)
và setImmediate(fn)
trong Node.js nằm ở thời điểm mà các hàm callback được thực thi trong vòng lặp sự kiện (event loop):
setTimeout(fn,0)
lên lịch để thực thi một hàm callback sau một khoảng thời gian tối thiểu đã trôi qua, mặc dù khoảng thời gian này được đặt là 0 mili giây. Trong thực tế, callback của setTimeout
sẽ không được thực thi ngay lập tức mà sẽ được đưa vào hàng đợi của các timer và thực thi ở đầu của giai đoạn poll trong vòng lặp sự kiện.setImmediate(fn)
được thiết kế để thực thi một hàm callback ngay sau khi các callback của sự kiện I/O hoàn thành và trước khi setTimeout
và setInterval
được gọi. Callback của setImmediate
được đặt trong hàng đợi của giai đoạn check và sẽ thực thi sau khi giai đoạn poll trở nên nhàn rỗi và trước khi vòng lặp sự kiện tiếp tục với giai đoạn timer tiếp theo.Một ...
middle
Gợi ý câu hỏi phỏng vấn
Chưa có bình luận nào