История изменений
Исправление Vit, (текущая версия) :
Когда 2 клиента хотят одновременно дернуть что-то асинхронное, а его не хочется выполнять несколько раз. Обычное дело. Можно запомнить запросы, а потом вернуть обоим одно и то же
Более сложный вариант - кеш асинхронных функций https://github.com/nodeca/promise-memoize.
Еще более сложный и распределенный - очередь задач с дедупликацией. Но если там нужно вернуть результат вызвавшему, то начнется ад. Делать и понимать качественную логику на событиях жутко гиморно.
Исходная версия Vit, :
Когда 2 клиента хотят одновременно дернуть что-то асинхронное, а его не хочется выполнять несколько раз. Обычное дело.
Более сложный вариант - кеш асинхронных функций https://github.com/nodeca/promise-memoize.
Еще более сложный и распределенный - очередь задач с дедупликацией. Но если там нужно вернуть результат вызвавшему, то начнется ад. Делать и понимать качественную логику на событиях жутко гиморно.