Показать сообщение отдельно
  #9 (permalink)  
Старый 06.12.2019, 21:59
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,492

Сообщение от pokk Посмотреть сообщение
О благодарю много нового узнал, правильный подход это использование
asynс функций с await вместо цепочки промиксов?
В принципе то да, но asynс/await пока не везде доступны, а потому если вы ещё не используете транспайлер вам придётся изучить ещё и данный вопрос. Если же обойтись без транспайлера, то цепочки промисов сами по себе достаточно наглядны и удобны.

Сообщение от ksa Посмотреть сообщение
Просто чел решил сэкономить на
if (timerId) {};
А в итоге дописал лишних 4 символа.) clearTimeout вызывается с любой чушью(приводимой к number без exception) в качестве аргумента(или вовсе без оного), по историческим причинам.

Сообщение от SuperZen Посмотреть сообщение
... но, все равно, там должен быть setInterval вместо setTimeout...
Неа, setInterval - он только для очень узких случаев.
И хотя данный конкретный код технически можно было бы заменить на setInterval, но только потому что сам код ошибочен.
Тут, как и в случае с setInterval: если GetJson займёт более 100мс, то одновременные вызовы будут накапливаться пока не станет совсем грустно. Правильный подход вызывать следующий setTimeout только после того как GetJson гарантировано отработал(в данном случае в коллбэке).
__________________
29375, 35

Последний раз редактировалось Aetae, 06.12.2019 в 22:10.
Ответить с цитированием