Câu hỏi phỏng vấn Node.js
Câu hỏi

Sự khác biệt giữa setTimeout(fn,0)setImmediate(fn) là gì?

Câu trả lời

Sự khác biệt giữa setTimeout(fn,0)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 setTimeoutsetInterval đượ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

middle

Gợi ý câu hỏi phỏng vấn

middle

Buffer là gì và tại sao nên sử dụng chúng trong Node.js?

middle

Tại sao nên tách biệt appserver trong Express?

senior

Làm thế nào để xử lý lỗi cho code async trong Node.js?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào