Cytoscape.js eles.style立即更新

时间:2017-12-21 12:47:25

标签: javascript jquery asynchronous cytoscape.js cytoscape-web

我在毕业项目中使用 Cytoscape.js 2.7.15 ,我需要做一些简单的可视化,比如更改节点的标签。

  

subjectNode.style( '标签',myDesiredLabelToshow);

对我有用,但我在for循环中使用它,当我想慢慢地或在调试模式下看看我的算法如何标记它们时,节点的标签不会立即改变,它们最终会一起改变在我的功能结束后(我的意思是命中结束功能范围)。

我尝试使用cy.batch(); cy.startBatch(),甚至尝试设置Timeout,但没有任何效果。

在调试模式下跟踪 cytoscape.js 文件后,我看到一个函数 o.requestAnimationFrame = function .. 在调试器点击后我的图表上应用了更改,怎么能我在自定义函数中手动触发它?

1 个答案:

答案 0 :(得分:0)

几乎任何渲染器都将使用requestAnimationFrame()使用渲染循环。这意味着它是异步的,你在步进时不会看到结果。

答案不是使用断点或步进,因为这些方法假设一切都是同步的。

使用用户界面中的按钮来执行"步骤"通过算法中的点,或使用承诺链中的动画来可视化进展。或者放弃在UI中显示调试提示,然后使用console.log()