如何在 Webix 中的长函数调用之前显示旋转图标?

How to show a spinning icon before a long function call in Webix?

我有一个函数调用,它需要大约 10 秒的时间才能 return 结果显示在数据 table 中。

例如,该函数接受两个 JSON 对象并通过处理它们生成另一个 JSON。伪代码如下所示:

var d = longProcessingFunction(jsonObj1, jsonObj2)
$$('mytable').parse(d);

我已经使用了 https://docs.webix.com/desktop__progress.html#settingprogressbaricon 中的进度条并将其用于 url 获取数据,显示旋转图标直到它获取然后将数据加载到 table .

但是,不太确定如何在普通函数调用的上下文中使用它?

请帮忙。

谢谢。

常见的模式是下一个

$$("mytable").showProgress();
webix.delay(function(){
    longProcess();
    $$("mytable").hideProgress();
});

webix.delay 添加超时,这是渲染进度条所必需的。尽管如此,如果 longProcess 是同步操作,浏览器将在执行 longProcess 操作时停止所有重绘和动画。如果你想有 live/animated 进度,你需要将 longProcess 拆分成一系列较小的作业,这些作业可以一个接一个地执行

function doChunk(){
    processChunk();
    if (jobDone)
        $$("mytable").hideProgress();
    else
       webix.delay(doChunk);
}
$$("mytable").showProgress();
webix.delay(doChunk);

以上都是 not-webix 特有的,是常见的 javascript 行为。