Это мой код для запуска DFS на javascript, я искал и пытался использовать setTimeout для задержки каждой ничьей в течение 3 секунд, но это не сработает. Может ли кто-нибудь показать мне способ сделать это?Как приостановить выполнение кода javascript
function DFSWithDirectedGraph(v) {
Nodes[v].visited = true;
reDrawNode(Nodes[v].x, Nodes[v].y, Nodes[v].id, 'blue');
for(var j = 0; j<i; j++) {
if(Path[v][j] != undefined && Nodes[j].visited == false) {
drawArrow(Nodes[v].x, Nodes[v].y, Nodes[j].x, Nodes[j].y, 'blue', Path[v][j]);
DFSWithDirectedGraph(j);
if(Path[j][v] != undefined) {
drawArrow(Nodes[j].x, Nodes[j].y, Nodes[v].x, Nodes[v].y, 'green', Path[j][v]);
} else {
drawArrow(Nodes[j].x, Nodes[j].y, Nodes[v].x, Nodes[v].y, 'green', "");
}
}
}
}
SetTimeout является асинхронным, что означает, что он doen't выполнение паузы кода. Но вы можете передать функцию обратного вызова в setTimeout, и она будет вызываться после определенного количества времени. – starikovs
Вот аналогичный вопрос http://stackoverflow.com/questions/951021/what-do-i-do-if-i-want-a-javascript-version-of-sleep – starikovs