我编写了一个程序,其中客户端使用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中使用线程模块(因为它不允许多个线程同时运行)是否有不同的方式?多处理?
答案 0 :(得分:0)
您可以尝试使用setInterval命令,您可以查看w3school如何使用它,或者您可以尝试(我建议)在您的项目中使用flask -socketio并使用flask socetio,您可以在客户端和客户端之间实时传输数据服务器