Javascript bokeh服务器:回调执行顺序
在我的bokeh服务器上,单击一个按钮即可完成时间密集型计算。在计算过程中,我想将按钮涂成红色,并将标签更改为“分析进行中”。这与我笔记本电脑上的以下脚本配合得很好但是,当我使用自己的桌面作为服务器时,完全相同的脚本不起作用。当在该服务器上运行脚本时,首先计算完成,然后按钮立即变为红色,然后立即变为绿色。 简体字:Javascript bokeh服务器:回调执行顺序,javascript,python,asynchronous,callback,bokeh,Javascript,Python,Asynchronous,Callback,Bokeh,在我的bokeh服务器上,单击一个按钮即可完成时间密集型计算。在计算过程中,我想将按钮涂成红色,并将标签更改为“分析进行中”。这与我笔记本电脑上的以下脚本配合得很好但是,当我使用自己的桌面作为服务器时,完全相同的脚本不起作用。当在该服务器上运行脚本时,首先计算完成,然后按钮立即变为红色,然后立即变为绿色。 简体字: from bokeh.models import Button from bokeh.io import curdoc import time def callback():
from bokeh.models import Button
from bokeh.io import curdoc
import time
def callback():
button.button_type="danger"#signal work in progress via the button style
button.label="Analysis in progress, please wait.."
time.sleep(3)#or do some computation that takes time
button.button_type="success"#signal the analysis is done via the button style
button.label="Analysis Done"
button = Button(label='Analyze',button_type="success", width=500)
button.on_click(callback)
curdoc().add_root(button)
我的笔记本电脑:
- python 3.6
- 博克1.4.0
- 英特尔(R)至强(R)CPU E3-1575M v5 3.00GHz, 32.0GB内存
- 64位Windows 10
- python 3.7
- 博克1.4.0
- 英特尔(R)至强(R)E-2174G处理器@3.80GHz,16.0GB内存
- 64位Windows 10
(在cmd中运行脚本的方法是:
bokeh service button.py--show
)bokeh取决于龙卷风。在这两台电脑上,tornado的版本是不同的。将tornado版本从6.0.2降级到5.0.2解决了这个问题
pip install tornado==5.0.2
早期的龙卷风版本似乎表现不同。但是,您应该期望在函数结束之前不会发送回调的更新,如果需要在一个回调中“拆分”更新,请使用此处显示的技术: