2013-04-12 2 views
1

Мне интересно, какой чистый способ приостановить поток пользовательского интерфейса в javascript? Всего пару секунд у меня есть повод для этого.как приостановить поток пользовательского интерфейса в javascript

+0

Является ли «работающим в крупной энергетической компании» признанной веской причиной? – aefxx

ответ

2

Spinwait.

while(Date.now() < some_target_time) {} 

Наслаждайтесь бесконечными потоками ненависти со стороны пользователей и других разработчиков.

+0

:) Я бы хотел, чтобы тэг «ненавистников ненавидел» не был отредактирован –

+0

['Date.now()'] (https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/now) не поддерживается в IE <9, и производительность здесь не является проблемой, 'while (new Date(). GetTime()

0

Как отметил Мэтт, «spinwait» - это почти единственное решение. Вот пример рабочего кода, измените 1000 на количество миллисекунд, которое вы хотите, чтобы браузер неприятно отшлифовал, ничего не делая.

for (var wait = + new Date() + 1000; + new Date() < wait;); 
Смежные вопросы