Выполняется ли JavaScript setTimeout в очереди событий в разных браузерах?

Как мы знаем, обработчики setTimeout будут помещены в очередь событий. Итак, мой вопрос в том, что обработчики setTimeout выполняются в том порядке, в котором они были установлены?

Пример:

setTimeout(hander1, 1);
setTimeout(hander2, 1);

Всегда ли обработчик1 будет выполняться перед обработчиком2 в разных браузерах?


person Ian Jiang    schedule 11.07.2013    source источник
comment
Различные браузеры действительно могут обрабатывать очень небольшие задержки по-разному. Вы можете найти эту статью полезной. Однако, если вам особенно важен порядок асинхронных событий, вы должны сделать то, что мы всегда делаем в этом случае: поместить зависимый код в обратный вызов.   -  person Matt Ball    schedule 11.07.2013
comment
Вы можете взглянуть на этот вопрос/ответ. Суть в том, что если вам нужно, чтобы что-то зависело от чего-то другого, не полагайтесь на setTimeout, если только оно не сильно отличается.   -  person kalley    schedule 11.07.2013
comment
Спасибо за указание на существующий вопрос.   -  person Ian Jiang    schedule 11.07.2013