fix: api loading delay

This commit is contained in:
GyDi
2021-12-25 23:20:59 +08:00
parent e76855ad0e
commit 36d8fa7de4
5 changed files with 59 additions and 40 deletions

View File

@@ -9,14 +9,18 @@ const Traffic = () => {
const [traffic, setTraffic] = useState({ up: 0, down: 0 });
useEffect(() => {
const { server, secret } = getInfomation();
const ws = new WebSocket(`ws://${server}/traffic?token=${secret}`);
let ws: WebSocket | null = null;
ws.addEventListener("message", (event) => {
setTraffic(JSON.parse(event.data) as ApiType.TrafficItem);
getInfomation().then((result) => {
const { server = "", secret = "" } = result;
ws = new WebSocket(`ws://${server}/traffic?token=${secret}`);
ws.addEventListener("message", (event) => {
setTraffic(JSON.parse(event.data) as ApiType.TrafficItem);
});
});
return () => ws.close();
return () => ws?.close();
}, []);
const [up, upUnit] = parseTraffic(traffic.up);