@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, жабаскрипт асинхронен, там и не должно быть sleep.

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

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

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

правильно понимаю, что если я сделаю 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

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

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

30 Jan 2015

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

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

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

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

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