Estoy trabajando en una página web que visualiza algoritmos de clasificación en React. El problema es que todos los cambios ocurren demasiado rápido y la matriz masiva se organiza en menos de un milisegundo. Necesito una forma de retrasar el algoritmo para que permanezca en cada cambio durante medio segundo. Creo que cambiar la frecuencia de actualización también podría funcionar. ¡Déjame saber si crees que hay mejores soluciones!
De cualquier manera, retrasar el progreso del algoritmo de clasificación a través de setTimouts no ha funcionado. Ni tiene promesas ni espera.
Aquí hay un ejemplo de algo que probé que no funcionó:
setTimout(() => { swap(b, b-1) //swap is a separate method }, 500)El código que publicaste retrasaría cada swap en 500 ms. Pero todos ellos todavía suceden en sucesión sin espacio en el medio. Parece que desea un retraso entre cada swap para que la visualización de clasificación se ralentice. Algo como este pseudocódigo podría funcionar:
function sleep(ms) { return new Promise(resolve => setTimeout(resolve, ms)); } async function sortingAlgorithm() { while(/*not sorted yet*/) { swap(b, b-1) await sleep(500); } }