Python中破折号的计时器事件

Roe*_*uar 1 python plotly-dash

我正在使用 Dash 构建用于将数据发送到远程服务器的 GUI。更新过程是异步的 - 因为加载数据可能需要时间。用户按下仪表板 GUI 上的按钮后,它会将远程服务器上的数据保存为 CSV 文件,保存文件后,它会告诉服务器(使用 API)开始运行上传过程。我想使用每 5 秒触发一次的回调向用户显示上传进度。我在 Dash 的网站上找不到任何关于此类回调的文档。是否有任何方法可以每 X 秒触发一次回调?

Roe*_*uar 6

我在 Dash 的论坛上找到了答案。该元素称为“间隔”。

这是一个每 5 秒触发一次事件的工作示例:

import dash_core_components as dcc
import dash_html_components as html
import dash

app = dash.Dash()

app.layout = html.Div([
    dcc.Interval(id='interval1', interval=5 * 1000, n_intervals=0),
    html.H1(id='label1', children='')
])


@app.callback(dash.dependencies.Output('label1', 'children'),
    [dash.dependencies.Input('interval1', 'n_intervals')])
def update_interval(n):
    return 'Intervals Passed: ' + str(n)

app.run_server(debug=False, port=8050)
Run Code Online (Sandbox Code Playgroud)