I am trying to display some data using websocket by firstCoinId and secondCoinId in nodejs. I am using react as frontend. When I make my request the first time I get correct data but changing the coins on front it sends both selected coin data like this:
firstCoinId, secondCoinId { firstCoinId: 15, secondCoinId: 36, userId: 160 }
firstCoinId, secondCoinId { firstCoinId: 49, secondCoinId: 36, userId: 160 }
But I want to clear the first value and want only one set of values. How can i do this? Here is my code:
wsServer.on("request", function (request) {
var userUd = getUniqueId();
const connection = request.accept(null, request.origin);
client[userUd] = connection;
connection.on("message", async function (message) {
console.log("mesg", message);
var interval = 2000;
if (message.type === "utf8") {
if (message.utf8Data) {
console.log('scoker',message.utf8Data)
var socketDataVar = setInterval(
() => socketData(message.utf8Data),
2000
);
const socketData = async (socket) => {
var graphDataApi = await exchangeCtrl.graphData(socket);
var topBarApi = await exchangeCtrl.topBar(socket);
var balanceApi = await exchangeCtrl.userBalanceByPair(
socket
);
var activeOrderListApi = await exchangeCtrl.activeOrderList(
socket
);
var marketTradeApi = await exchangeCtrl.marketTradeApi(
socket
);
var myActiveOrderListApi = await exchangeCtrl.myActiveOrderList(
socket
);
var myCompletedOrderListApi =
await exchangeCtrl.myCompletedOrderList(socket);
var coinListApi = await exchangeCtrl.coinList(socket);
var filalData = {
graphDataApi,
topBarApi,
balanceApi,
activeOrderListApi,
marketTradeApi,
myActiveOrderListApi,
myCompletedOrderListApi,
coinListApi,
};
for (key in client) {
client[key].sendUTF(JSON.stringify(filalData));
}
};
if (JSON.parse(message.utf8Data) == "disconnect") {
clearInterval(socketDataVar);
}
}
}
});
});