[ Web Proxy ]
URL:
Viewing: https://ja.javascript.info/microtask-queue [Back]  [Original]

Microtasks
:
Light themeDark theme
DanskEnglishEspaolFranaisIndonesiaItalianoTrkeOzbek

Promise .then/.catch/.finally

Promise .then/.catch/.finally

:

let promise = Promise.resolve();

promise.then(() => alert("promise done!"));

alert("code finished"); // 

code finished promise done!

Promise

.then

Microtasks

ECMA PromiseJobs microtask (v8 )

:

  • (first-in-first-out):

Promise .then/catch/finally JavaScript

code finished

[]

Promise

.then/catch/finally

promise done code finished

.then :

Promise.resolve()
  .then(() => alert("promise done!"))
  .then(() => alert("code finished"));

(Unhandled rejection)

Promise unhandledrejection

JavaScript

microtask Promise

Promise .catch :

let promise = Promise.reject(new Error("Promise Failed!"));
promise.catch(err => alert('caught'));

// : error handled
window.addEventListener('unhandledrejection', event => alert(event.reason));

.catch microtask :

let promise = Promise.reject(new Error("Promise Failed!"));

// : Promise Failed!
window.addEventListener('unhandledrejection', event => alert(event.reason));

:

let promise = Promise.reject(new Error("Promise Failed!"));
setTimeout(() => promise.catch(err => alert('caught')), 1000);

// : Error: Promise Failed!
window.addEventListener('unhandledrejection', event => alert(event.reason));

Promise Failed! caught

microtask : unhandledrejection !

unhandledrejection microtask : Promise (rejected)

setTimeout .catch unhandledrejection

Promise microtask (v8 ) promise jobs Promise

.then/catch/finally

.then/catch/finally Promise .then

Node.js JavaScript microtask microtask Promise (event loop): microtask macrotask


Web Proxy Viewer  |  New URL  |  Original Page