Wpis z mikrobloga

#javascript #programowanie

Ktoś mi powie dlaczego pętla w pewnym momencie się zatrzymuje? ( ͡° ͜ʖ ͡°)

var res = document.getElementById('percent');
let x = 1;

(function wypok(x)
{
setInterval(function()
{
if (x <= 100)
{
percent.innerHTML = x;
x++;
wypok(x);
}
}, 200);
  • 4
  • Odpowiedz
@Byku zakładając że to co pokazujesz to uproszczony przykład to być może kod osiąga jakiś recursion-limit?

możesz spróbować osiągnąć to samo iteracyjnie używając funkcji asynchronicznej, np:

const sleep = (ms) => new Promise((resolve)=>{setTimeout(resolve,ms)})

(async ()=>{
let x=1
while(x++<100){
await sleep(200)
wypok()
}
})()
  • Odpowiedz