【发布时间】:2018-02-16 21:58:27
【问题描述】:
我想用一个用 react 和 webpack 构建的浏览器应用程序连接到 GDAX websocket api。我不能使用官方的 gdax-node 或 gdax-toolkit api,因为它们与 webpack 不兼容。我决定尝试自己使用 socket.io 连接到 websocket,但下面的代码从未建立连接。在下面的代码中,连接后我的“订阅”日志消息永远不会出现。如何让此代码连接或至少显示错误消息?
const io = require('socket.io-client');
var subscribe = {
"type": "subscribe",
"channels": [{"name": "ticker", "product_ids": ["BTC-EUR"]}]
};
function subscribeToTimer(cb) {
console.log('Opening socket');
var socket = io.connect('wss://ws-feed.gdax.com');
socket.on('connection', function(socket) {
console.log('Subscribing');
socket.on('disconnect', function(socket) {
console.log('Clinet disconnected.');
});
});
//socket.on('message', timestamp => cb(null, timestamp));
socket.on('message', data => { console.log(data); });
socket.on('error', data => { console.log(data); });
}
export { subscribeToTimer };
【问题讨论】:
-
你怎么打电话给
subscribeToTimer?使用您当前的代码示例,我们将不知道如何调用这段代码。 -
就是这样。当我运行代码时,我可以看到正在调用该函数,因为我看到“正在打开套接字”消息,但没有看到“订阅”或“客户端断开连接”消息。 subscribeToTimer((err: Error, input: TradeMessage) => this.addRow(input));
标签: webpack websocket socket.io gdax-api