ECharts数据异步加载
我们在之前的学习中可能已经了解了“同步”和“异步”的概念。 同步是指我们完成一件事之后,再开始另一件事,也就是说,当我们使用同步数据请求形式在后台发送请求,直到获取到数据,让我们的图表能够显示出来。 当数据量较大或者网络较慢时,我们的图表可能无法整体加载。 用户体验不好,所以我们应该根据情况异步加载数据,ECharts还为我们提供了高质量的Loading动画~我们一起来看看。
1 简介
很多时候,图表的数据是通过异步加载的方式获取的。 在ECharts中,任何熟悉的工具如jQuery、axios、fetch等都可以用来先加载数据,然后调用setOption来渲染图表,例如:
const ecInstance = echarts.init(document.getElementById('main'));
const data = await axios.get('data/source');
ecInstance.setOption({
title: ...,
series: [
{type:'xxx', data:data}
]
});
2.使用加载动画
上面例子的问题是,从init到setOption这段时间,图表容器没有内容,是空白的echarts 加载后台数据,这可能会让用户迷惑,认为这是一个bug。 因此,需要给容器添加加载效果,提醒用户数据正在加载。 echarts内置了一套简单的加载动画效果,通过手段触发; 通过以下方式关闭echarts 加载后台数据,例如: