Size: a a a

JavaScript — русскоговорящее сообщество

2020 March 26

RB

Random Balance in JavaScript — русскоговорящее сообщество
Назар Калитюк
ну я понял что не сделаю из за eventloopa, но какие примерно задержки там? Меня бы 5 сотых устроили, может даже 1 десятая
Не нужно ждать длинный срок, можно просто раз в 5 секунд проверять очередь задач через setInterval(), допустим, если до целевого времени осталось меньше 5 секунд то вычисляешь точное время (дельту от текущего) и запускаешь с ней setTimeout().
источник

RB

Random Balance in JavaScript — русскоговорящее сообщество
Причём так можно сколько угодно задач делать, всего одним интервалом.
источник

АЧ

Алексей Чепурко in JavaScript — русскоговорящее сообщество
Назар Калитюк
ну если коллстек пустой, то оно же всеравно моментально не сработает.
может отработает. может, не отработает :)  js он такой :)
если некст тик лупа совпадет с твоим таргет временем, считай моментально. если нет, считай не моментально )
источник

RB

Random Balance in JavaScript — русскоговорящее сообщество
Алексей Чепурко
может отработает. может, не отработает :)  js он такой :)
если некст тик лупа совпадет с твоим таргет временем, считай моментально. если нет, считай не моментально )
+ Вот вот.

Может оказаться что осталось 500 мс до назначенного времени, ты запускаешь setTimeout на 500 мс, и в это время тяжёлая задача запускается и твой таймер будет ждать. 💁🏻‍♂️
источник

RB

Random Balance in JavaScript — русскоговорящее сообщество
Назар Калитюк
ну я понял что не сделаю из за eventloopa, но какие примерно задержки там? Меня бы 5 сотых устроили, может даже 1 десятая
А в чём цель конечная?
источник

НК

Назар Калитюк in JavaScript — русскоговорящее сообщество
Random Balance
А в чём цель конечная?
игра в браузере. Нужно отправить запрос точно в сек. Понятно что еще огромная задержка пока он дойдет до сервера, но это можно примерно предсказать
источник

НК

Назар Калитюк in JavaScript — русскоговорящее сообщество
вручную кнопку сложно нажать ровно в сек, или за пару десятых до сек
источник

АЧ

Алексей Чепурко in JavaScript — русскоговорящее сообщество
Назар Калитюк
игра в браузере. Нужно отправить запрос точно в сек. Понятно что еще огромная задержка пока он дойдет до сервера, но это можно примерно предсказать
интересно, как ты это предсказывать будешь 😅
подожду за решением
источник

RB

Random Balance in JavaScript — русскоговорящее сообщество
Назар Калитюк
вручную кнопку сложно нажать ровно в сек, или за пару десятых до сек
Ну если пинг например 100 мс, то можно на 50 мс раньше отправить запрос. 😂
источник

RB

Random Balance in JavaScript — русскоговорящее сообщество
Только не понятно зачем такая точность. Это игра для ботов? )
источник

НК

Назар Калитюк in JavaScript — русскоговорящее сообщество
статистически. Мне же не прям точно. Я примерно знаю что запрос идет пол секунды. И если нужен зарпос в 11 секунд, то отправить нужно в 10.8 сек
источник

НК

Назар Калитюк in JavaScript — русскоговорящее сообщество
конечно не всегда срабатывать будет, но это не страшно
источник

АЧ

Алексей Чепурко in JavaScript — русскоговорящее сообщество
Назар Калитюк
статистически. Мне же не прям точно. Я примерно знаю что запрос идет пол секунды. И если нужен зарпос в 11 секунд, то отправить нужно в 10.8 сек
то тебе точно, то тебе не точно 😅
источник

НК

Назар Калитюк in JavaScript — русскоговорящее сообщество
отправить ну +- 5 сотых секунды думаю терпит. Я еще не мерял сколько запрос обычно идет
источник

АЧ

Алексей Чепурко in JavaScript — русскоговорящее сообщество
Назар Калитюк
отправить ну +- 5 сотых секунды думаю терпит. Я еще не мерял сколько запрос обычно идет
запрос будет идти столько, сколько позволяет оборудование/сеть и бла бла бла.
источник

АЧ

Алексей Чепурко in JavaScript — русскоговорящее сообщество
сделай сначала как-то. потом смотри, есть ли вообще ботлнеки или нет. если нет, смотри профайлером на перформанс
источник

АЧ

Алексей Чепурко in JavaScript — русскоговорящее сообщество
сейчас, кажется, ты решаешь проблему, которой у тебя нет
источник

НК

Назар Калитюк in JavaScript — русскоговорящее сообщество
да я просто спросил как отправить по времени, и setTimeout(() => (), targetTime - currentTime) думаю отлично подойдет.
источник

НК

Назар Калитюк in JavaScript — русскоговорящее сообщество
потмо сам себя накрутил уже лупами
источник

АЧ

Алексей Чепурко in JavaScript — русскоговорящее сообщество
Алексей Чепурко
сейчас, кажется, ты решаешь проблему, которой у тебя нет
отсюда и это сообщение :)
источник