Cześć, potrzebuję informację o wciśnięciu oraz zwolnieniu przycisku ze strony. Mam napisany backend node.js oraz reactowy frontend (korzystam z Express).
Sam mechanizm i transmisja danych działa bez zarzutów (wciskam przycisk na frontendzie i w momencie wciśnięcia wysyłany jest obiekt {state: true} oraz w momencie zwolnienia przycisku wysyłany jest obiekt {state: false}).
Problem jednak tkwi w fakcie, że dane są wysyłane jedynie 6 razy (3xdown i 3xup myszki). Nie rozumiem dlaczego? Po czym jakby umiera komunikacja strony bez jakiegokolwiek błędu na konsoli, pomaga jedynie reset strony, bez konieczności resetu backendu. Próbowałem czystym javascriptowym fetch(), jak również axios'em - w obu przypadkach identyczny rezultat.
Co w tej sytuacji może powodować, jakby limit postów? Zawsze jest ona taka sama, co nasuwa mi jakiś limit? Próbowałem również zmianę na no-cors, ale wtedy wysyłane są puste obiekty do backendu, no i też po 6ciu umiera strona.
Na stronie mam również stosowane fetch() z metodą get (do wykresu), który działa idealnie, niezależnie od czasu pracy (ilości żądań). Po wysłaniu tych 6 zapytań do backendu (metodą post) umiera również wspomniana, odrębna metoda get dla wykresu.
function getFromSite(req, res) {
console.log(req.body)
}
import React from 'react'
import axios from 'axios'
class Controller extends React.Component {
constructor(props) {
super(props)
}
forwardEvent = (e) => {
let state
if (e.type === "mousedown") state = true
else state = false
const res = axios.post('/forwardCmd', { state: state })
console.log('res', res)
}
render() {
return (
<div>
<Button onMouseDown={this.forwardEvent} onMouseUp={this.forwardEvent}>Forward</Button><br></br>
</div >
)
}
}
Poniżej ilustracja jak wygląda konsola backendu, czyli 3 krotne wciśnięcie i zwolnienie przycisku. '>' to tylko sprawdzenie, czy backend nie został zawieszony (interwał czasowy 1sec dla testu), co wyklucza zawieszenie się aplikacji node.js.

Z góry dziękuję