如何在使用 Cytoscape 完成动画后减少 运行 函数的函数调用计数
How to reduce function call count for a function that is run after animation completion with Cytoscape
我在节点集合上有一个动画。然而,在动画完成后,我希望它只调用一次函数,但显然该函数被调用的次数与集合中的节点数一样多。有办法阻止这种情况吗?我只希望它 运行 一次。刚接触 Javascript,感谢任何帮助。
collection.animate({
style: {
'line-color': 'red',
'target-arrow-color': 'red',
'border-width': 20,
'border-color': 'red'
}
}, {
'duration': 3000,
'complete': () => "hello world";
});
打印 9 次“hello world”,因为我的节点和边集合的长度为 9(有向图中节点和边的子分支)
这应该很容易。只需放置一个布尔变量来检查是否已经执行。
let isExecuted = false;
collection.animate({
style: {
'line-color': 'red',
'target-arrow-color': 'red',
'border-width': 20,
'border-color': 'red'
}
}, {
'duration': 3000,
'complete': () => {
if (isExecuted) {
return;
}
console.log("hello world");
isExecuted = true;
};
});
我在节点集合上有一个动画。然而,在动画完成后,我希望它只调用一次函数,但显然该函数被调用的次数与集合中的节点数一样多。有办法阻止这种情况吗?我只希望它 运行 一次。刚接触 Javascript,感谢任何帮助。
collection.animate({
style: {
'line-color': 'red',
'target-arrow-color': 'red',
'border-width': 20,
'border-color': 'red'
}
}, {
'duration': 3000,
'complete': () => "hello world";
});
打印 9 次“hello world”,因为我的节点和边集合的长度为 9(有向图中节点和边的子分支)
这应该很容易。只需放置一个布尔变量来检查是否已经执行。
let isExecuted = false;
collection.animate({
style: {
'line-color': 'red',
'target-arrow-color': 'red',
'border-width': 20,
'border-color': 'red'
}
}, {
'duration': 3000,
'complete': () => {
if (isExecuted) {
return;
}
console.log("hello world");
isExecuted = true;
};
});