版本:V5.0.2
背景
使用ECharts
的lazyUpdate
模式多次执行setOption
,仅对最终的option
渲染一次。ECharts
是和React
一致自己单独实现了一套任务管理机制,还是基于setTimeout
或Promise
做的异步渲染?我们尝试从ECharts的源码中来一探究竟。
结论
代码挺好跟,但涉及到Even loop
深入理解起来会相对困难。简单说明就是采用lazyUpdate
更新图表的话,图表会在下一个 animation frame
中更新而在下一个animation frame
之前执行的setOption
会根据notMerge
参数来判断是合并option
还是采用最后一次option
直接渲染。