Показать сообщение отдельно
  #1 (permalink)  
Старый 31.03.2014, 19:53
Аватар для Hapson
Кандидат Javascript-наук
Отправить личное сообщение для Hapson Посмотреть профиль Найти все сообщения от Hapson
 
Регистрация: 23.07.2013
Сообщений: 122

Запуск функции с задержкой
Опять у меня проблемы с асинхронностью...
Вобщем есть функция, которая выводит на середину экрана анимацию ожидания.
В данном случае хотелось бы, чтобы было так:

1) я делаю ajax запрос
2) вызываю функцию вывода анимации
3) и хочу чтобы она вывела картинку не сразу, а через 500мс

Как работает setTimeout я понимаю. Например

function foo(){
    /***/
}

// ... before timeout
setTimeout(foo, 500);
// ... after timeout

Функция foo() будет вызвана как минимум через 500мс после установки таймаута. Но может быть пройдет больше времени, так как вызов функции foo() по любому будет вырван из потока и поставлен в очередь после выполнения всего скрипта.
То есть, если после установки таймаута, скрипт будет работать еще 1000мс, то по его завершении и будет вызвана foo().

И я так понимаю, нет способа вызвать функцию четко через определенное время?
Ответить с цитированием