В этой короткой статье я объясню, что такое асинхронная/ожидающая функция Javascript, так как для продвижения вперед необходимо хорошо знать, как Javascript ведет себя в некоторых случаях событий.

Асинхронное поведение Javascript позволяет запускать вашу программу во время выполнения других событий приложения. Это поможет сохранить отзывчивость веб-страницы. Итак, прежде чем углубляться в то, что такое асинхронное программирование, давайте обсудим, что такое синхронное программирование.

Синхронное программирование

В синхронном программировании код Javascript выполняется построчно. В каждой строке браузер ждет, пока строка завершит свою работу, прежде чем перейти к следующей строке.

Пример

const name = 'Asynchronous';
const welcome = `Hello, ${name} functions!`;
console.log(welcome);

Давайте посмотрим, как код выполняется с функциями.

function welcome(name) {
  return `Hello, ${name} functions!`;
}

const name = 'Asynchronous';
const welcomeVar = welcome(name);
console.log(welcomeVar);

Тем не менее программа работает с in синхронно. Потому что вызывающая сторона должна дождаться, пока функция завершит свою работу и вернет значение, прежде чем вызывающая сторона сможет продолжить.

Асинхронное программирование

Это метод, который используется для запуска потенциально долго выполняющейся задачи и сохранения возможности реагировать на другие события во время выполнения этой задачи. Как только эта задача будет завершена, программа может представить результаты.

Ниже приведен пример, объясняющий, как обстоят дела с асинхронным программированием. Представьте, что baseURI содержит что-то, что получает гораздо большие данные json, и для их извлечения может потребоваться несколько секунд. Таким образом, при использовании асинхронных функций это будет выполняться с другими событиями программы и приводить к совместной работе.

Пример

fetchUsers: async function(){
  const baseURI = 'https://jsonplaceholder.typicode.com/users'
  await this.$http.get(baseURI)
      .then((result) =>{
        this.users = result;
      })
},

Как и в приведенных выше примерах, мы могли бы прийти к выводу, что асинхронные функции используются там, где выполнение заблокировано на неопределенный срок. Некоторыми примерами этого являются сетевые запросы, длительные вычисления, операции с файловыми системами и тому подобное. Использование асинхронного кода в браузере позволяет сохранить работу других функций, а также не влияет на взаимодействие с пользователем.

Спасибо и увидимся в следующем уроке.