Al abrir el siguiente archivo HTML en un navegador, la marca de tiempo solo se registra una vez, ¿por qué no se llama a la función de step un montón de veces por segundo como lo haría excepto?
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Test</title> </head> <body> <script> function step(timestamp) { console.log(timestamp) } window.requestAnimationFrame(step) </script> </body> </html>Solo se ejecuta una vez. Para que se repita, debemos llamar a requestAnimationFrame dentro del step para que continúe https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame
Antes:
function step(timestamp) { console.log(timestamp) } window.requestAnimationFrame(step)Después:
let i = 0; function step(timestamp) { console.log(timestamp); i++; if (i < 10) { window.requestAnimationFrame(step); } } window.requestAnimationFrame(step)