当我进行一些缓慢的网络通话时,我希望在面板应用程序中出现某种进度条或微调框,类似于:
class MyApp(param.Parameterized):
div = Div(text="", width=120, height=120)
plot = param.Action(lambda self: self.param.trigger('plot'))
def _load(self):
self.div.text = spinner_text
sleep(5) # simulate work such as loading from db
return 1 # some data
@param.depends('plot', watch=True)
def view(self):
data = self._load()
plot = data.hvplot()
return pn.Row(self.div, plot)
app = MyApp()
pn.Row(MyApp.param, app.view)
(微调框文本是来自bokeh/issues/3393的CSS)
但是,小部件直到睡眠完成后才更新。在长时间运行的计算运行期间,是否可以通过某种方式向用户显示进度条或类似的信息?
我当前正在使用
bokeh==1.3.4
panel==0.6.3
param==1.9.2