Browser tab freeze / high CPU: infinite microtask queue recursion prevents UI rendering – JavaScript EVENT_LOOP_STARVATION

EVENT_LOOP_STARVATION

Una ricorsione asincrona non terminata basata su 'Promise.resolve().then(loop)' o 'queueMicrotask' svuota continuamente la coda dei microtask senza mai rilasciare il controllo all'Event Loop per il rendering del browser, congelando la pagina.

Cosa significa questo errore?

Una ricorsione asincrona non terminata basata su 'Promise.resolve().then(loop)' o 'queueMicrotask' svuota continuamente la coda dei microtask senza mai rilasciare il controllo all'Event Loop per il rendering del browser, congelando la pagina.

Messaggio originale

Browser tab freeze / high CPU: infinite microtask queue recursion prevents UI rendering

Contesto e parole chiave

Alias

  • microtask queue infinite loop event loop starvation JavaScript

Messaggi alternativi

  • congelamento interfaccia per saturazione coda microtask

Prodotti

  • JavaScript Engine (V8, SpiderMonkey, JavaScriptCore) / Web API

Piattaforme

  • Bun
  • Deno
  • Node.js
  • Qualsiasi Browser Web

Parole chiave

  • ecmascript
  • errore-javascript-event-loop-starvation-microtasks
  • javascript
  • javascript.async.infinite-async-loop-event-loop-starvation
  • js
  • Promise e Async Await

Cause possibili

Causa tecnica per Errore JavaScript: Event Loop Starvation da Coda Microtask Infinita

Una ricorsione asincrona non terminata basata su 'Promise.resolve().then(loop)' o 'queueMicrotask' svuota continuamente la coda dei microtask senza mai rilasciare il controllo all'Event Loop per il rendering del browser, congelando la pagina.

molto comune

Diagnosi

Diagnostica in console browser per Errore JavaScript: Event Loop Starvation da Coda Microtask Infinita

Aprire la Console degli Strumenti per Sviluppatori (F12) o verificare l'output di esecuzione Node.js per analizzare lo stack trace.

Come leggere il risultato. Indica il file sorgente esatto e la riga di codice in cui si è verificata l'eccezione o il type error.

terminal
node --trace-warnings app.js

Risoluzione

Risoluzione standard per Errore JavaScript: Event Loop Starvation da Coda Microtask Infinita

Difficoltà: facileRischio: basso

Applicare la correzione al codice sorgente JavaScript conforme agli standard ECMAScript moderni.

  1. Ispezionare la riga evidenziata nella console degli errori
  2. Applicare optional chaining (?.) o gestione condizionale dei valori null/undefined
  3. Ricaricare la pagina o riavviare il processo per verificare la scomparsa dell'errore

Domande frequenti

Come risolvere l'errore Errore JavaScript: Event Loop Starvation da Coda Microtask Infinita in JavaScript?

Una ricorsione asincrona non terminata basata su 'Promise.resolve().then(loop)' o 'queueMicrotask' svuota continuamente la coda dei microtask senza mai rilasciare il controllo all'Event Loop per il rendering del browser, congelando la pagina.

Approfondimenti

Schede correlate