Итак, я создаю приложение, и мне нужно использовать URL-адрес сокета и socket.io для подключения к нему.
Мне интересно, как лучше подключиться со стороны клиента в приложении Vue-CLI. Когда я вставляю его в созданное, приложение становится невероятно медленным.
var configUrl = "CONFIG_URL";
// Axios request to retrieve socket URL
axios.get(configUrl).then((response) => {
var socketUrl = response.data.config.liveDistributionSSL;
var socket = io(socketUrl);
socket.on("connect", () => {
console.log("Connected");
socket.emit("subscribe", {
subscribeMode: "topSportBets",
language: {
default: "en"
},
deliveryPlatform: "WebSubscribe",
playerUuid: null,
subscribeOptions: {
autoSubscribe: true,
betCount: 3,
excludeMeta: false,
resubscriptions: 0,
fullBetMeta: true,
browser: {}
}
});
});
socket.on("message", (message) => {
switch (message.type) {
case "state":
//Calling commit on an mutation to add data to it sent from socket
commit('updateData', message.data);
console.log("Data =>", message.data)
break;
case "currentMatches":
// We have matches to update
break;
case "betchange":
// We have match bets to update
break;
}
});
});
Я использую Vuex, и я поместил этот код в действие, которое я вызываю из ловушки Created lifecycle.