В этой короткой статье я объясню, что такое асинхронная/ожидающая функция 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; }) },
Как и в приведенных выше примерах, мы могли бы прийти к выводу, что асинхронные функции используются там, где выполнение заблокировано на неопределенный срок. Некоторыми примерами этого являются сетевые запросы, длительные вычисления, операции с файловыми системами и тому подобное. Использование асинхронного кода в браузере позволяет сохранить работу других функций, а также не влияет на взаимодействие с пользователем.
Спасибо и увидимся в следующем уроке.