Which is wrong statement about the different between setImmediate() and setTimeout()?
Các phương án trả lời
Chọn một phương ánLời giảiChọn phương án để mở
Câu hỏi này yêu cầu bạn xác định tuyên bố sai về sự khác biệt giữa setImmediate() và setTimeout(). Câu trả lời đúng là: 'Nếu cả setTimeout() và setImmediate() được gọi trong cùng một vòng lặp, setTimeout() sẽ được thực hiện trước setImmediate()'. Điều này sai vì thực tế setImmediate() sẽ được thực hiện trước setTimeout() khi cả hai được gọi trong cùng một vòng lặp. SetImmediate() được thiết kế để chạy ngay lập tức sau vòng lặp hiện tại, trong khi setTimeout() sẽ chờ đợi cho đến khi hết thời gian chờ đợi. Điều này có thể được minh họa qua ví dụ sau: var i = 0; setImmediate(function() { console.log('Immediate', i); i++; });
setTimeout(function() { console.log('Timeout', i); i++; }, 0);
Kết quả sẽ là:
Immediate 0
Timeout 2
Như vậy, setImmediate() được thực hiện trước setTimeout() khi cả hai được gọi trong cùng một vòng lặp.