Евгений Политико
Инженер-программист в Шмаков Медиа · 23.03
Код справа (см.картинку) тоже понятен и надежен. Но он НЕ так явно передает понимание того что и зачем происходит.
Здесь тайм-аут через Promise.race, а сбор данных через Promise.allSettled. Это страшно запутывает код!
Если делать корректно, то нужно убрать таймеры и добавить асинхронный коллектор данных, похожий на Map, который можно использовать в комбинации с async\await синтаксисом. Collector скрывает сложность асинхронного программирования по абстракции высокого уровня, что приводит к понятному и надежному прикладному коду.
Исходный код понятен и надежен, но он не так явно передает намерение и суть происходящего.
#educationеще контент автора
еще контент автора
Евгений Политико
Инженер-программист в Шмаков Медиа · 23.03
войдите, чтобы увидеть
и подписаться на интересных профи