@schors
schors
30 Jan 2015

2015 год. в javascript нет кошерного способа сделать sleep(1). как игры-то на нём пишут? какая замена flash?

30 Jan 2015

schors, игры со sleep лет уже так 25 не пишут :)

30 Jan 2015

а как выйти из ситуации?

#ovqwrn/2 в ответ на /1
30 Jan 2015

это мягко говоря не то. ну вот как запихать settimeout в цикл?

#ovqwrn/4 в ответ на /3
30 Jan 2015

schors, поподробнее объясни задачу.

#ovqwrn/6 в ответ на /4
30 Jan 2015

schors, ты что-то не то делаешь. Используй setInterval, он будет вызывать указанную функцию с заданным интервалом

#ovqwrn/7 в ответ на /4
30 Jan 2015

и выносить состояния в глобал. охохо

#ovqwrn/8 в ответ на /7
30 Jan 2015

@zikmok, о да! Замыкания!
Welcome to JS HELL!

#ovqwrn/10 в ответ на /9
30 Jan 2015

Shura, я чего-то не понимаю? В чём проблема с замыканиями и где у них hell?

#ovqwrn/13 в ответ на /10
30 Jan 2015

@zikmok, в понимании, очевидно.

#ovqwrn/14 в ответ на /13
30 Jan 2015

@zikmok, да со всех сторон. Я долго въезжал, прежде чем разобрался что там откуда видно

#ovqwrn/15 в ответ на /13
30 Jan 2015

Shura, по-моему встречаются вещи, куда более сложные для понимания. Те же континуации в Схеме...

#ovqwrn/16 в ответ на /15
30 Jan 2015

@zikmok, я не спорю, что есть более сложные вещи, но замыкания тоже не самая простая на свете вещь

#ovqwrn/18 в ответ на /16
30 Jan 2015

Shura, ну да, наверное. Но в любом случае, свою задачу по уменьшению глобальных переменных они выполняют успешно.

#ovqwrn/19 в ответ на /18
30 Jan 2015

schors, жабаскрипт асинхронен, там и не должно быть sleep.

30 Jan 2015

отличная логика - нет слипа, нет игр. :-D

30 Jan 2015

правильно понимаю, что если я сделаю setTimeout(foo, 1), а function foo() {setTimeout(foo, 1)}, то js это правильно отработает и не сожрёт у меня всю память за 10 минут?

30 Jan 2015

schors, если тебе нужно это, то твой выход — setInterval(foo, 1);

#ovqwrn/21 в ответ на /20
30 Jan 2015

1 ты не получишь, там не секунды а мс. Минимум около 100 что ли реально браузерами даётся. А с чего бы память жрать то?

#ovqwrn/22 в ответ на /20
30 Jan 2015

Таки нет, вру 4 написано в MDN минимум. Но в случае фоновой вкладки может быть увеличено

#ovqwrn/26 в ответ на /24
30 Jan 2015

2015
блокирующие вызовы

Это у пользователей называется «браузер тормозит».

30 Jan 2015

Для анимаций ещё requestAnimationFrame(), но только для них.

Добавить пост

Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
Для форматирования текста используется Markdown.