我试图在mashup应用程序从Qlik服务器获取数据时显示加载消息,但是我的方法无法获得很好的结果。
我的方法是这样的:
首先,我从getLists方法获取当前选择,并且当选择更改时显示加载消息。然后,在此方法末尾的hypercube回调中,我隐藏了加载消息。
代码是这样的:
在getList方法中
app.getList("CurrentSelections", function (reply) {
if(selection_change()){
show_loading_message();
}
});
在每个HyperCube中:
app.createCube(config_cube, function (reply) {
//do stuff with reply data
hide_loading_message();
});
此代码位于面板中每个超级多维数据集的内部,并且隐藏加载message()方法等待每个多维数据集的执行完成,就像python多进程程序包中的join()方法一样。
但是我的问题是getList和app.createCube方法是异步的,它们有时在执行createcube方法之后加载消息是活动的,并且不要再次隐藏消息。
有人知道如何解决此问题,因为我正在使用大型数据集并且qlik感知引擎延迟提供响应数据,所以我需要显示加载消息
谢谢!