我正在使用Cytoscape.js 2.7.15作为我的毕业项目,我需要做一些简单的可视化,比如更改节点的标签。
subjectNode.style( '标签',myDesiredLabelToshow);
适合我,但我在for循环中使用它,当我想慢慢地或在调试模式下看看我的算法如何标记它们时,节点的标签不会立即改变,它们最终会在我的函数后一起改变结束(我的意思是命中结束功能范围)。
我试图使用cy.batch();
cy.startBatch()
甚至试图设置Timeout
但没有任何效果。
在调试模式下跟踪cytoscape.js文件后,我看到一个函数o.requestAnimationFrame = function ..在调试器点击后我的图表上应用了更改,如何在我的自定义函数中手动触发它?
几乎所有渲染器都将使用requestAnimationFrame()
渲染循环。这意味着它是异步的,并且在步进时你不会看到结果。
答案不是使用断点或步进,因为这些方法假设一切都是同步的。
使用UI中的按钮“逐步”遍历算法中的点,或使用承诺链中的动画来显示进度。或者放弃在UI本身显示调试提示,只使用console.log()
。