Доброго времени суток, серверный обработчик сокет запроса:
socket.on('errorData', async (id) => {
id = parseInt(id, 10);
if(!socket.payload || !socket.payload.userid) {
socket.emit('onError', 'Вы не авторизованы');
return;
}
if(!id) {
socket.emit('onError', 'Некорректные данные');
return;
}
let item = await connection.query('SELECT * FROM UserData WHERE id = ?', [id]);
if(!item || !item[0]) {
socket.emit('onError', 'Некорректные данные');
return;
}
if(!item[0].userid || (item[0].userid !== socket.payload.userid + '')) {
socket.emit('onError', 'Некорректные данные');
return;
}
let updateUserItems = await connection.query('UPDATE UserData SET ? WHERE id = ?', [{status: 1}, id]);
socket.emit('errorData', {
success: true,
id: id
});
});
Нормальный ли codestyle? От callback-hell'a вроде бы получилось уйти, однако мне такой принцип все равно кажется неправильным.
Проблема в том, когда обработчик большой, когда очень много проверок всяких данных - получается около 70 строк такого кода, а то и больше. Есть какие-нибудь советы?