Untitled
Anonymous
plain_text
03/10/2023 6:01 AM
1.1 KB
18
Indexable
const Binance = require('binance-api-node').default;
const Redis = require('redis');
const binanceClient = Binance();
const redisClient = Redis.createClient();
const symbols = ['ETH', 'BTC'];
// Define an asynchronous function to handle the ticker updates
async function handleTickerUpdate(symbol, price) {
return new Promise((resolve, reject) => {
redisClient.set(symbol, price, (error, result) => {
if (error) {
reject(error);
} else {
resolve(result);
}
});
});
}
// Subscribe to the real-time price feed for each symbol
symbols.forEach(symbol => {
binanceClient.ws.ticker(symbol + 'USDT', async ticker => {
const price = parseFloat(ticker.bestBid);
try {
await handleTickerUpdate(symbol, price);
} catch (error) {
console.error(`Error updating ${symbol} price in Redis: ${error}`);
}
});
});
Editor is loading...