Рубрики
Без рубрики

Что такое обещания в JavaScript? Давайте объясним!

Введение JavaScript удивительно. Так удивительно на самом деле, это самые популярные языки … Теги с JavaScript, начинающими, узлами.

JavaScript удивительно. Настолько удивительно на самом деле, это самые популярные языки там. Это отлично подходит для начинающих и экспертов.

JavaScript настолько удивительно, потому что ему удалось сделать веб-более интерактивное и интересное место. Он открыл совершенно новый мир веб-контента, от скучного текста с несколькими фотографиями, в удивительные веб-приложения и даже игры, которые вы можете играть в вашем браузере.

JavaScript развился в ближайшие годы, где, что-то, что ранее было только с помощью Flash (запоминание Flash?) Теперь возможно с нулевыми расширениями.

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

Как это работает, является блестящим. На HTML странице открыть

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

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

Но как насчет вещей, которые забирают немного дольше, чтобы завершить? Такие вещи, как получить данные с другого сайта? В зависимости от источника данных, он может занять от нескольких секунд до минуты Возвращать ответ! Как ответить JavaScript?

Представьте, что мы делаем что-то подобное в Python. Мы хотим запрашивать некоторые данные с другого сайта, храните его в переменной, и мы отображаем его пользователю:

data = get_data_from("https://api.example.com/data")
print(data)

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

JavaScript, однако, это другая история. Представьте, что он действовал так же, как Python, когда мы запрашиваем некоторые данные из удаленного источника:

var data = getDataFrom("https://api.example.com/data")
console.log(data)

Проблема в том, что JavaScript работает в браузере. Если каждый раз, когда он ждал некоторых данных, чтобы получить из некоторого удаленного источника, браузер замерзнет! Все, что основано в JavaScript, перестанет работать, пока данные не вернутся к нам. Кнопки перестанут реагировать на клики, любая интерактивность остановится.

Пользователи нажимают на кнопки, ожидая, что что-то произойдет, и ничего не будет. Это ужасно Пользовательский опыт! Что-то нужно было сделать, чтобы исправить эту проблему!

Обещания являются решением проблемы запроса на данные. По сути, это способ сказать:

«Перейти получить некоторые данные с этого API. Тем не менее, я не буду сидеть здесь и ждать тебя, потому что это может занять некоторое время, и это заморозить мой браузер »

Обещания также способ сказать:

«Перейти получить некоторые данные с этого API. Я собираюсь перейти к следующей строке, но, как только вы получите некоторые данные, я хочу, чтобы вы сделали Что-то с ними".

Смотрите этот пример ниже:

console.log("Getting some data for you...")

getDataFrom("https://api.example.com/data")
.then((response) => {
    console.log(response)
    console.log("All done!")
})

console.log("Javascript is great!")

Если мы запустим пример выше, это то, что произойдет:

  • Распечатать «Получение некоторых данных для вас ...»
  • Запросить некоторые данные
  • Печать «JavaScript отлично»
  • Как только данные вернутся Распечатайте данные, а затем распечатайте «Все сделано!»

Таким образом, ваш браузер не замерзает при выборе данных. Так что JavaScript счастлив, ваш браузер счастлив, и самое главное, из всех, Ваш пользователь счастлив Отказ

Это было основано на Это нить в Twitter Опубликовано месяц назад и доказано довольно популярным

Оригинал: "https://dev.to/savvasstephnds/javascript-promises-explained-4cj7"