我试图了解WebSocket的工作,为此,我选择了一个有关汇率和socket.io-client的API。这种情况很难描述,但我会尽力的。
从api中,我可以通过通常的休息请求获得最受欢迎的货币列表(事先我不知道它是什么货币),然后我订阅了api以接收有关这些货币的其他信息。 WebSocket向我返回字符串消息,并且我想以某种方式将它们构造为一个对象。
const socket = io("https://api-url-example.com/");
socket.emit('SubAdd', { subs: this.state.fsyms });
socket.on("m", message => {
console.log(message.split("~"));
});
它返回给我包含大量数据的字符串消息,我想执行下一步:
message.split("~")
);输出的数组如下所示:
["5", "CCCAGG", "BTC", "1", "6709.7", "fe9"]
currencyData
),然后将WebSocket流中的数组作为对象推入他的对象,并在传入的数组key(2)值上过滤一个。例如:如果套接字向我返回有关BTC的数组,并且currencyData
没有键为BTC
的对象,我想将其推入其中,但是如果BTC
对象已经存在,我要替换给他新的东西。最后,我要获取以下类型的对象:
currencyData = { USD: {...},
BTC: {...},
EUR: {...} }
请帮助我,我应该如何解决这个问题,因为这通常是合理的,也许我不太了解WebSockets的概念并且做错了一切。