Я пытаюсь сделать на сокетах что-то похожее для пост-запроса к маршруту.Как сделать только на сокетах?
Действие в клиенте:
export const registerUser = (userData, history) => dispatch => {
axios
.post('/users/register', {
type: `server/${REGISTER_USER}`,
payload: userData
})
.then(res => history.push('/login'))
.catch(err =>
dispatch({
type: GET_ERRORS,
payload: err.response.data
})
);
};
Маршрутизатор на сервере:
router.post("/register", (req, res) => {
req.io.sockets.on('action', ({ type, payload }) => {
switch (type) {
case 'server/REGISTER_USER':
//...
db.getConnection((err, connection) => {
if (err) throw err;
const query = 'SELECT count(email) as number FROM Employee WHERE email=?';
connection.query(query, [payload.email], function (error, results, fields) {
connection.release();
if (error) throw error;
//...
const query = `
INSERT INTO Employee
(id_employee, id_dep, id_post, id_company, name, surname, patron, email, password, avatar)
VALUES
(null, null, null, null, ?, ?, ?, ?, ?, ?)`;
connection.query(query,
[payload.name, payload.surname, payload.patron, payload.email, payload.password, avatar],
(error, results, fields) => {
if (error) throw error;
req.io.sockets.emit('action', { type: 'server/SUCCESS' })
})
});
});
}
});
})
Как получить положительный ответ и сделать это действие, если я использую "redux-socket.io"?
.then(res => history.push('/login'))