2013-05-02 3 views
1

Я знаю, это может быть старый вопрос. Но я действительно смущен после нескольких поисковых запросов.Сколько раз на Земле выполняется setTimeout?

С this question, я выучить SetTimeout будет выполнять навсегда,

но из this one, я узнаю, что будет выполняться только один раз.

Что странно, что когда я проверить его в консоли браузера, я случайно увидеть его держит выполнение ..

enter image description here

Но иногда выполнять только один раз:

enter image description here

Тот же код дает разные результаты. Кто-нибудь знает, почему?

EDITED: теперь я могу поверить, что SetTimeout выполняется только один раз, но как объяснить первый скриншот моего теста?

+0

* «Из этого вопроса я узнаю, что setTimeout будет выполняться вечно» *: если вы имеете в виду принятый ответ, я думаю, что на самом деле это относится к функции, заданной в вопросе, а не 'setTimeout'. –

ответ

3

setTimeout будет выполнять только один раз.

Код в задаче stackoverflow, с которым вы связывались, продолжает выполняться, потому что это рекурсивный. Вызов setTimeout, вызывает себя.

+0

его сложно в моем случае делать так: $ (".btn-new-order"). Trigger ('change'); вызывает множество проблем – shareef

1

setTimeout делает не выполняются бесконечно, хотя, как показано в linked question, вы можете эмулировать setInterval по телефону setTimeout снова в функции вы передаете setTimeout

Это answer объясняет, что возвращаемое значение из setTimeout/setInterval является который вы можете использовать для ссылки на таймер позже, чтобы отменить тайм-аут.

Смежные вопросы