客户端 - 服务器刷新取决于时间

时间:2018-02-12 16:36:51

标签: javascript python multithreading flask multiprocessing

我编写了一个程序,其中客户端使用JavaScript(React),服务器端使用Flask以Python编写。 我希望客户端每30秒刷新一次数据,但我希望服务器端以不同的速度刷新(我希望路由A每隔30秒刷新一次,路由B每60秒刷新一次) 通过路线我指的是Python-Flask Routes。

到目前为止,在我的客户端(就这个更新的代码而言)我有

refreshData() {
        request.get("/cData")
        .end((err,res) => {
            if (err) {
                console.log("error cdata request: " + err);
                return;
            }
            this.setState({cTimes: res.body});
        });

        request.get("/mData")
        .end((err,res) => {
            if (err) {
                console.log("error mdata request: " + err);
                return;
            }
            this.setState({mTimes: res.body})
        });
    }
    componentDidMount() {
        this.refreshData();
        setInterval(this.refreshData(), 30000);
    }

后端的路由看起来像这样

@app.route("/cData")
def cData():
   #do work
   return jsonify(work)

每个烧瓶路线的返回数据将采用JSON格式(字典)

知道我需要在客户端(React)做什么才能真正完成这项工作? 而不是在Python中使用线程模块(因为它不允许多个线程同时运行)是否有不同的方式?多处理?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用setInterval命令,您可以查看w3school如何使用它,或者您可以尝试(我建议)在您的项目中使用flask -socketio并使用flask socetio,您可以在客户端和客户端之间实时传输数据服务器