RomanSS: в большинстве случаев node.js работает именно так - тут не нужны дополнительные пояснения, потому что это базовый принцип асинхронного программирования с использованием middleware.
sferos: я говорю, что если вы решите выделить для таймера отдельный поток, то его лучше выделить как отдельную службу. При многопоточном программировании есть некоторые трудности с обеспечением общего пространства данных (будет интересно - почитайте), поэтому службы полностью изолируют, предоставляя внешней системе методы для вызова и отправители сообщений для обратной связи.
Спасибо за ответ, но он пока-что ни о чём.
1. С этим придётся поверить на слово, что поделать.
2. Я знаю, как работает promisify. Я спрашивал об устройстве promisifyAll, прочитайте пожалуйста вопрос внимательнее.
Rou1997: если вы про дебри, то я лесник, который способен повторить это самостоятельно. Но не хотелось бы писать по новой то, что уже может быть встроено "из коробки".
Coder321: не будет. Насколько я знаю, таймер node.js не отличается от таймера на С++. Процесс создаёт на уровне операционной системы так называемое "отложенное задание", которое вызывается при достижении системным счётчиком времени нужной отметки. Все задания уничтожаются по завершению их главного процесса. Если нужно ссылаться на каждый таймер с целью его отменить... ну тут по-любому создаются 100 переменных, массивы видал и в 100 раз больше.
Это потому, что стандартная установка делается через angular-cli - в одну строчку (ng new). webpack стоит использовать, чтобы не обновлять каждый раз страницу при минимальных изменениях - webpack обновляет только нужный модуль.
И ещё вопрос: при объявлении declare global пишется ошибка, что нужен модуль для файла. Решается так export {}, но в файле декларации создаётся export {}; export {}; (2 раза). Как это записать более грамотно?