Много пользователей совершают действие, где мне надо либо забрать с переменной объект, а если его нету - загрузить с бд и записать в эту переменную.
Проблема - когда много юзеров быстро совершают действие, у меня дублируются запросы в бд и собственно объекты тоже. Как заставить последующие запросы, после первогоо запроса загрузки, ждать именно первого, а не начинать грузить самим?
// внутри async function
chat.quiz = global_quizzes[quiz_id];
if(!chat.quiz) {
// проблема в дубли
chat.quiz = await Chat_Quizzes.findById(quiz_id).exec();
global_quizzes[quiz_id] = chat.quiz;
}