vue 整合echarts的时候,是先axios 调用后台接口,获取数据,再将数据渲染到页面。
一开始的问题是:第一次请求完,页面没数据,再请求一次才出现数据
分析到最后,发下是由于axios是异步请求的,所以先执行的数据渲染,请求的数据才返回来
这时候做了一个不对的判断,就是我总是想着怎么把这个异步请求变成同步请求,花了半个小时左右研究,比如这篇文章:使用 async/await 将 axios 异步请求同步化处理
最后突然醒悟,不就是执行顺序的问题么,我可以直接等异步请求调用回来,再把渲染的代码放在回调函数中就行了,反正我请求回来是要用这些请求数据的。
总结:可能你觉得这个事情很简单,但突然对我的感触很深,很多时候我们都会犯类似的错误。
本文探讨了在Vue中整合ECharts时遇到的数据加载问题。作者最初遇到数据延迟显示的困扰,通过深入研究发现是异步请求导致的执行顺序问题。最终解决方案是在回调函数中进行数据渲染,确保数据加载完成后立即更新视图。
5823





