Используя async/await, код кажется более синхронным, и мы можем писать асинхронный код более последовательным и читабельным образом.

// Example function that returns a Promise
function fetchData() {
  return new Promise((resolve, reject) => {
    // Simulating an asynchronous operation
    setTimeout(() => {
      const data = { message: "Data successfully fetched!" };
      // Resolve the promise with the fetched data
      resolve(data);
      // Reject the promise with an error
      // reject(new Error("Failed to fetch data!"));
    }, 2000);
  });
}

// Example asynchronous function using async/await
async function processData() {
  try {
    console.log("Starting the process...");

    // Asynchronous operation to fetch data
    const result = await fetchData();
    console.log(result.message);

    // Perform additional operations...
    // ...

    console.log("All operations complete!");
  } catch (error) {
    console.log("An error occurred:", error.message);
  }
}

// Calling the asynchronous function
processData();

здесь fetchData` возвращает имитацию асинхронной операции. Функция processData объявляется как асинхронная функция с использованием ключевого слова async. В этой функции мы используем ключевое слово await, чтобы приостановить выполнение и дождаться разрешения или отклонения обещания fetchData. Если обещание разрешается, результат сохраняется в переменной result. Если промис отклоняется, выдается ошибка, которую можно поймать и обработать в блоке catch… это так просто

Спасибо 👋🏻