文章 查看内容

如何通过自定义图表同时批量触发多个数据集更新

如何通过自定义图表同时批量触发多个数据集更新

203 0 产品实操 2026-8-3 11:10 发布者: 观小咩

在一些运营看板或业务大屏中,我们可能希望用户点击一个按钮后,同时触发多个数据集刷新。场景:比如一个页面依赖多个上游数据集,手动逐个进入数据集页面刷新效率较低,就可以通过bi里边的「自定义图表」放置一个按 ...

在一些运营看板或业务大屏中,我们可能希望用户点击一个按钮后,同时触发多个数据集刷新。场景:比如一个页面依赖多个上游数据集,手动逐个进入数据集页面刷新效率较低,就可以通过bi里边的「自定义图表」放置一个按钮,一键批量调用多个数据集的刷新接口。

本文介绍一种基于自定义图表的实现方式:在仪表板中添加一个按钮,点击后并发请求多个数据集刷新 URL,并展示触发结果。

实现效果

页面中显示一个「触发更新」按钮:

  • 点击后同时触发多个数据集更新
  • 按钮触发期间自动禁用,避免重复点击
  • 根据接口返回结果展示成功、部分成功或失败状态

配置方式

在仪表板中新增一个自定义图表卡片,分别填入以下文件中的 HTML、CSS 和 JavaScript 代码。如何同时批量触发多个数据集更新.docx.zip

代码说明

核心配置在 urls 数组中:

const urls = [
  '数据集刷新地址1',
  '数据集刷新地址2',
];

需要批量触发几个数据集,就在数组中配置几个刷新接口地址。

点击按钮后,代码会通过:

Promise.allSettled(urls.map(requestRefresh))

并发请求所有刷新接口。这里使用 Promise.allSettled 的好处是,即使其中某个数据集触发失败,也不会影响其他数据集的触发结果统计。

最终会根据执行结果展示三种状态:

  • 全部成功:已触发 2 个数据集更新任务
  • 部分成功:部分触发成功:成功 x 个,失败 y 个
  • 全部失败:触发失败,请检查 URL/token 是否有效

如何增加更多数据集

如果要触发 3 个或更多数据集,只需要继续往 urls 数组中添加刷新地址:

const urls = [

  '数据集刷新地址1',

  '数据集刷新地址2',

  '数据集刷新地址3',

  '数据集刷新地址4',

];

同时可以把提示文案中的数量改成动态写法:

setStatus(`正在触发 ${urls.length} 个数据集更新...`, '');


if (failedCount === 0) {

  setStatus(`已触发 ${urls.length} 个数据集更新任务`, 'success');

}

注意事项

  1. 请将示例中的域名、数据集 ID、token 替换为实际环境中的数据集刷新地址。
  2. token 属于敏感信息,不建议发布到公开页面或截图中。
  3. 如果接口有跨域限制,需要确认当前页面环境是否允许调用该刷新接口。
  4. 该方式是“触发刷新任务”,不代表数据集已经立即刷新完成,实际完成时间取决于数据集任务执行耗时。
  5. 建议只给有权限的用户开放包含该按钮的仪表板页面,避免误触发或频繁触发数据更新。

通过这种方式,可以在仪表板中快速实现一个轻量的一键刷新入口,适合多个数据集需要同步触发更新的场景。


路过

雷人

握手

鲜花

鸡蛋

评论

您需要登录后才可以发表言论 登录立即注册
微信服务号
联系我们
电话:400-880-0750
邮箱:hello@guandata.com
Copyright © 2001-2026 观远社区 版权所有 All Rights Reserved. 浙 ICP 备15006424号-3
去评论 去发文 返回顶部
返回顶部