Promise

let myPromise = new Promise((resolve, reject) => {
  setTimeout(() => resolve("Success!"), 1000);
});
myPromise.then(result => console.log(result));

async/await

const fetchData = async () => {
  try {
    const response = await fetch('<https://jsonplaceholder.typicode.com/todos/1>');
    const data = await response.json();
    console.log(data);
  } catch (error) {
    console.error('Error:', error);
  }
};

Where to use await

Event Loop

JS 的异步机制,理解 setTimeoutPromiseasync/await 的执行顺序

console.log("Script start");
setTimeout(() => console.log("setTimeout"), 0);
Promise.resolve().then(() => console.log("Promise resolved"));
console.log("Script end");

// Script start
// Script end
// Promise resolved
// setTimeout