2009-04-11 15 views
12

Hàm được gọi sau một thời gian đã được thực thi bằng javascript hoặc bất kỳ ngôn ngữ thông dịch nào khác?Cài đặt setTimeout được thực hiện như thế nào trong trình thông dịch hoặc bộ đếm thời gian javascript nói chung?

Nói cách khác, có một vòng lặp phía sau trong trình thông dịch javascript kiểm tra tất cả thời gian danh sách bộ hẹn giờ hay có cách nào đặc biệt mà hệ điều hành xử lý không?

Cảm ơn

Trả lời

9

Có mô tả hay trong số John Resig's blog

+3

Bài đăng trên blog đó là tốt đẹp để phân tích hàng đợi thực thi javascript, nhưng không thực sự trả lời câu hỏi: Làm thế nào để nội dung có trong hàng đợi khi bộ hẹn giờ kích hoạt? Dường như hàng đợi thực hiện không phải là một bộ lập lịch nơi bạn có thể đặt các công cụ được thực thi sau này, chúng được thực thi ngay lập tức khi có không gian. Bạn có bất kỳ ý tưởng làm thế nào bộ đếm thời gian thực tế hoạt động mà cháy việc bổ sung hàng đợi thực hiện? Tôi sẽ tưởng tượng rằng trong linux envs nó có thể là một cái gì đó giống như ev http://linux.die.net/man/3/ev – user541905

1

Bạn có thể nhìn vào nguồn gốc của Firefox hoặc WebKit để xem cách họ thực hiện nó.

+0

Có. Nhưng thực sự tôi muốn biết nếu có một cách tiếp cận chung có thể được sử dụng trong bất kỳ ngôn ngữ nào. – alvatar