Вы изо всех сил пытаетесь узнать концепцию обещаний JavaScript? Эта статья объяснит, как создать обещание, почему мы используем обещание в JavaScript и многое другое.

What is Promise in JavaScript?

Обзор

Мы надеемся, что вы лучше понимаете типы данных JavaScript. Теперь это еще один пост в категории программирования. В этом учебном пособии Javascript мы рассмотрим , что обещают в JavaScript , и вместе с этим мы также посмотрим, что такое асинхронные операции, использование обещаний и как создавать обещания в JavaScript. Во -первых, асинхронный процесс/операция - это то, что выполняется независимо от других процессов и не создает никакой блокировки. Поэтому вам необходимо обрабатывать асинхронные операции, иначе это может создать аномалии в вашем коде JavaScript. Итак, мы рассмотрим, как мы можем справиться с асинхронными операциями, используя обещания. Мы рассмотрим следующие моменты в этом учебном пособии JavaScript:

Что такое обещание в JavaScript? Обещания объяснены

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

Почему мы используем обещание в JavaScript?

Если вы не знаете о Callback Hell, позвольте мне поделиться тем, что это такое. Во -первых, обратный вызов - это функция внутри другой функции. По сути, функция обратного вызова передается как второй аргумент в функции, которая выполняется при получении результатов. Таким образом, во многих сценариях вам необходимо гнетать функцию обратного вызова, и по мере увеличения гнездования с ней становится почти невозможно. Следовательно, мы называем это длинное гнездование функций обратного вызоваCallback Hell . Таким образом, обещание - это способ избежать ада -обратной ситуации. Использование обещаний дает лучшую читаемость и улучшенную обработку ошибок. Кроме того, вы можете лучше справиться с асинхронными операциями, получая возвращаемое значение и передавая это значение следующей функции в цепочке.

Как работает обещание в JavaScript?

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

Как работает обещание в JavaScript??

Согласно упомянутому выше рабочего процессу, детали реализации довольно ясны. Обещание начинает выполнять его создание и находится в ожидающем состоянии, ожидая ответа. Есть два варианта либо данных, либо будет ошибка при окончании обработки. После получения данных он переходит в блок .Then () и входит в блок .catch () в случае ошибки.

Как создать обещание?

До сих пор мы рассмотрели основную концепцию обещания. Теперь мы собираемся изучить, как мы можем создать обещание в JavaScript. Давайте использовать следующий конструктор перспектива, чтобы создать обещание.

let promise = new Promise(function(resolve, reject) {
  // do some processing.. 
});

Конструктор обещания принимает функцию как аргумент, который снова занимает два аргумента, решает, а другой отвергает. Он вызывает метод Resolve () в случае успеха и входит в блок DIRECE () в случае ошибки или отклонения. Давайте немного погрузимся и рассмотрим создание обещания немного дальше.

let data = "";

let dataValue = new Promise(function (resolve, reject) {
    if (data) {
        resolve("There is some data.");
    } else {
        reject("There is no data");
    }
});

console.log(dataValue);

В приведенном выше фрагменте кода вы можете дополнительно сделать вызовы API в блоке Resolve (). Теперь давайте посмотрим на схему исполнения обещания JavaScript.

let promiseExecution = new Promise((res, rej) => {
  console.log('synchronous execution');
  if (true) {
    res('Success');
  } else {
    rej('Error');
  }
})

promiseExecution.then((data) => {
  console.log('It is executing asynchronously: ' + data);
}).catch((err) => {
  console.log('It is executing asynchronously: ' + err);
}).finally(() => {
  console.log('promise is completed');
});

console.log('Hello Word');

Ниже приведен выход приведенного выше фрагмента кода:

synchronous execution
Hello Word
It is executing asynchronously: Success
promise is completed

Таким образом, код внутри обещания работает синхронно, поэтому печатается «синхронное выполнение». Далее, Block Then () работает асинхронно и ожидает, пока результат не будет сгенерирован, но выполнение программы не останавливается, поэтому «Hello Word» напечатано, и выполнение обещаний было отложено. После этого. Then () Block выполняет и возвращает значения, которые он обещал. Это история о обещаниях JavaScript. Опять же, поскольку JavaScript является однопорядным, обещания используются для обработки асинхронных операций не блокирующими способом.

Заключение

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

Связаться с нами

Наконец, cantainerize.com предлагает текущие учебные пособия JavaScript по различным захватывающим темам. Вы можете остаться в курсе, следуя нам на наших социальных сетях, включая Facebook, LinkedIn и Twitter.

Задайте вопрос

Вы можете сообщить нам о ваших вопросах или вопросах на нашем форуме.

FAQS

Что обещания в JavaScript с примером? Пожалуйста, перейдите по этому ссылке, чтобы узнать, какие обещания в JavaScript.

Смотрите также