websocket Express JS从API真实的获取更新

bakd9h0s  于 2023-08-05  发布在  其他
关注(0)|答案(1)|浏览(76)

我想将一个体育API集成到我的express js后端应用程序中,我想获取实时分数,这样我就可以在我的前端应用程序中显示,我正在寻找一种有效的方法来实现这一点,而不会浪费大量资源。我知道有两种方法可以用来从端点真实的获取更新,它们是:
1.套接字IO
1.使用cron作业或按时间间隔进行池化
但是,要使用套接字IO获取更新,我需要这些端点发出的事件,以便从后端应用程序侦听它们,而这些API提供程序不提供这些事件
第二个选项是池化,它既不高效也不优雅,池化会导致资源浪费,有没有一种有效的方法可以从我的express js应用程序或后端应用程序中的体育API获取实时比分更新,以便我可以显示到前端
我试过使用socket io,但我甚至无法访问正在发出的API。我也试过池化,但效率不高。

w7t8yxp5

w7t8yxp51#

如何从体育API中提取赔率数据?
1.您可以定期使用call endpoint从API获取数据。

  1. API可以提供实时API,诸如WebSocket或AMQP。
    您可以socket.io在这两种情况下使用www.example.com。请定义全局变量或应用变量。例如:
    server.js或index.js
const api = require('api');
const emitter = require('emitter');

global.oddsData = {};

api.receive();
emitter.start();

字符串
api.js

module.exports = {
    recieve: () => {
        // call api or receive realtime data using websocketclient or amqp library.
        global.oddsData = receivedData;
    }
}


emitter.js

const emit = () => {
    // todo here add data
    io.emit('EVENT NAME', global.oddsData);
    setTimeout(() => {emit();}, timeout);
}

module.exports = {
    start: () => {
        emit();
    }
}

相关问题