Which is wrong statement about the different between setImmediate() and setTimeout()?

4 phương ánCó giải thíchDễ

Các phương án trả lời

Chọn một phương án
Lờ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.

Cùng chương 1