Почему обработчик socket io параллельно обрабатывает событие в рамках одного соединения

Как заставить обрабатывать события от одного клиента синхронно.

    socket.on('quest', async (data, callback) => {
await sleep(1000);
console.log(new Date().getTime());
let zadanie = await pool.query("SELECT * FROM `quest`  WHERE `id`=1 ").then(res =>{ return res['0'];});
await  pool.query("UPDATE `quest` SET `lvl`=`lvl`+1 WHERE `id`='"+zadanie.id+"'  ");
return callback({s:zadanie});
});

сейчас получается что, если отправить 10 запросов в один момент - будет задержка перед выводом в консоль, но время будет одинаковое с разницей 1-2 мс. Нужно что бы он выполнялся не параллельно в рамках одного соединения.

рабочий код на сервере чуть другой, и проблема в том, что некоторые специально ставят через консоль скорость 1кбит, отправляют кучу запросов, потом выставляют нормальную скорость и сервер отдает не обновленные данные. например уровень задания будет всегда одинаков


Ответы (0 шт):