dir.by  
  Поиск  
Программирование, разработка, тестирование
JavaScript - язык программирования для HTML
JavaScript стандарт ES6. Издан в 2015 году. Поддерживается НЕ всеми браузерами. Синонимы ES6, ES2015, ECMAScript 2015
promise В JavaScript | стандарт ES6
  Посмотрели 1867 раз(а)    
 promise В JavaScript | стандарт ES6 
последнее обновление: 10 сентября 2023
History
So what is a promise? A promise represents an asynchronous operation whose result will come in the future.

Before ES6, there was no way to wait for something to perform some operation. For example, when we wanted to make an API call, there was no way to wait until the results came back.

For that, we used to use external libraries like JQuery or Ajax which had their own implementation of promises. But there was no JavaScript implementation of promises.

But then promises were added in ES6 as a native implementation. And now, using promises in ES6, we can make an API call ourselves and wait until it's done to perform some operation.
Я раньше не использовал Promise (мой асинхронный код был вот такой):
Я отправлял запро на сервер используя post_url это моя функция которую и я использовал в 2015 году
  post.js
function post_url(url, params, function_response)
{
     var s = params; // params
     var xmlHttpReq = false;
     if (window.XMLHttpRequest)
     {
          // Mozilla/Safari
          try
          {
               xmlHttpReq = new XMLHttpRequest();
          }
          catch (e) { }
     }
     else if (window.ActiveXObject)
     {
          // IE
          try
          {
               xmlHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
          }
          catch (e)
          {
               try
               {
                    xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
               } catch (e) { }
          }
     }

     xmlHttpReq.open('POST', url, true);
     xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
     xmlHttpReq.onreadystatechange = function()
     {
          // threaded
          if (xmlHttpReq.readyState == 4)
          {
               if (xmlHttpReq.status == 200) // success
               {
                    if (function_response)
                         function_response(xmlHttpReq.responseText);
               }
               else
               {
                    // alert('Error: ' + xmlHttpReq.status + ' : ' + xmlHttpReq.statusText);
               }
          }
     }
     xmlHttpReq.send(s);
}
Чтобы перерисовать только описание книги и цену я запрашивал html из сервера по book id вот так:
<script language='javascript'>

     post_url("$CONFIG_URL_domain/request.php", "GET_BOOK_INFO="+bookId, function (htmlResponse)
     {
          document.getElementById("div_for_book").innerHTML = htmlResponse;
     });

</script>
 
Через пару лет я начал использовать jquery ajax чтобы выполнять асинхронный запрос на сервер:
<script language='javascript'>

     $.ajax(
     {
          type: "POST",
          url: "$CONFIG_URL_domain/request.php",
          data:{
                    "GET_BOOK_INFO": bookId
               },
          complete: function(msg, textStatus)
          {
               if (textStatus=='error')
                    alert(msg.status +" " + msg.responseText);
               else
               {
                    document.getElementById("div_for_book").innerHTML = htmlResponse;
               }
          }
     });

</script>
Promise
Сейчас использую Promise
 
← Предыдущая тема
class | Класс В JavaScript. Пример: class Book {...} ... var obj1 = new Book(); | стандарт ES6
 
 
Ваши Отзывы ... комментарии ...
   
Вашe имя
Ваш комментарий (www ссылки может добавлять только залогиненный пользователь)

  Объявления  
  Объявления  
 
В каком редакторе (программе) удобно писать JavaScript код?
Новое приложение
Создаем новое приложение JavaScript в текстовом редакторе
Создаем новое приложение JavaScript в Visual Studio Code. Отладка приложения. Смотрим в отладке как по шагам выполняется JavaScript
Отладка JavaScript, HTML
Отладка JavaScript в Google Chrome. Используем debugger
Как узнать (увидеть) где ошибка при выполнении HTML, JavaScript в Google Chrome
Отладка JavaScript В Google Chrome. Используем console.log("Hello!")
JavaScript стандарт ES5. Издан в 2009 году. Поддерживается всеми браузерами
Функция
Функция В JavaScript. Пример: function CalculateSum(value1, value2) { ... } | стандарт ES5
Функция return || В JavaScript. Пример: function getPersonName(name) { return name || "Evgen" } | стандарт ES5
Вызов функции до ее определения (Hoisting) В JavaScript | стандарт ES5
Переменные внутри функции (время жизни переменных внутри функции) JavaScript | стандарт ES5
Передача параметров по значению и по ссылке в функцию В JavaScript | стандарт ES5
Как узнать ... существует ли функция по названию В JavaScript? Пример: typeof calcSum == "function" | стандарт ES5
Функция описанная внутри функции. JavaScript | стандарт ES5
Безымянная функция
Безымянная функция В JavaScript . Использование безымянной функции: создаем новую переменную и новой переменной назначаем безымянную функцию. Пример: var myFunc1 = function (a, b) { return a + b; } ; | стандарт ES5
Безымянная функция В JavaScript . Использование безымянной функции: безымянную функцию передаем как параметр в другую функцию. Пример: Calculate(15, 7, function(v1, v2) {return v1+v2;}); | стандарт ES5
Само-вызывающая безымянная функция
Само-вызывающая безымянная функция В JavaScript. Где используется? Используется в Yandex рекламе. Пример: ( function(){ ... } )(); | стандарт ES5
Создаем файл js с объектом содержащий экспортные переменные и функции. Это пример использования само-вызывающей безымянной функции | стандарт ES5
Лямбда функция (сокращенный вариант безымянной функции)
Лямбда функция В JavaScript . Использование лямбда функции. [Пример1] var myFunc1 = (a, b) => a + b; [Пример2] Calculate(15, 7, (v1, v2) => {return v1+v2;}); | стандарт ES5
Переменные
Переменные В JavaScript (текст, число, флаг, дата и время) | стандарт ES5
Доступ к переменным до их определения (Hoisting) В JavaScript | стандарт ES5
Область видимости переменных var, let, const В JavaScript | стандарт ES5
Текст, строки В JavaScript
Текст В JavaScript. Класс String. Пример: var myText = String("World"); | стандарт ES5
Length (длина строки В JavaScript) | стандарт ES5
Функция replace(text1, text2) заменить текст В JavaScript | стандарт ES5
Функция toUpperCase() переводит текст в верхний регистр JavaScript | стандарт ES5
Функция toLowerCase() перевод текста в нижний регистр JavaScript | стандарт ES5
Функция split(delimiter) разделяет строку на подстроки JavaScript | стандарт ES5
Функция charAt(position) получить символ по позиции JavaScript | стандарт ES5
Функция substr(pos, len) возвращает подстроку JavaScript | стандарт ES5
Функция slice(pos1, pos2) возвращает подстроку JavaScript | стандарт ES5
Функция substring(pos1, pos2) возвращает подстроку JavaScript | стандарт ES5
Функция indexOf(text, startPos) ищет подстроку и возвращает индекс JavaScript | стандарт ES5
Функция startsWith(text) проверяет, начинается ли строка с указанной подстроки JavaScript | стандарт ES5
Функция trim() удалить пробелы в начале и в конце строки JavaScript | стандарт ES5
Функция padStart(length, symbol) добавляет в начале строки символы до нужной длины строки JavaScript | стандарт ES5
Функция padEnd(length, symbol) добавляет в конце строки символы до нужной длины строки JavaScript | стандарт ES5
В текстовую переменную можно назначить текст как много строк. Пример: var myText = `Hello \n Thanks \n Bye` | JavaScript стандарт ES6
В текстовой переменной можно писать выражения с переменными (форматирование, интерполяция строки). Пример: var myText = `Hello ${a}` | JavaScript стандарт ES6
Регулярные выражения
Регулярные выражения в JavaScript | стандарт ES5
Пишем регулярное выражение чтобы удалить все специальные символы кроме букв и цифр | Regex JavaScript | стандарт ES5
Числа и математические функции
Числа В JavaScript. Конвертация текста в число. Округление числа. Перевод шестнадцатиричного в десятичное число. | стандарт ES5
Математические функции из библиотеки Math: Sin, cos, log, pow и так далее В JavaScript | стандарт ES5
Дата и время
Дата и время (год, месяц, число, часы, минуты, секунды) В JavaScript. Класс Date | стандарт ES5
Массив
Массив В JavaScript это [] или класс Array | стандарт ES5
Что значит 3 точки ...items | Пример 1: Math.max(...prices) | Пример 2: books.push(...items) | JavaScript, стандарт ES5
Разница между push(items) и push(...items) | Добавление массива в массив В JavaScript | стандарт ES5
Найти max цены в сложном массиве: [ {name:"Tomate", price:10}, {name:"Apple", price:17}, {name:"Orange", price:15} ] в JavaScript | стандарт ES5
Найти min цены в сложном массиве: [ {name:"Tomate", price:10}, {name:"Apple", price:17}, {name:"Orange", price:15} ] в JavaScript | стандарт ES5
Коллекции Map и Set
Коллекция "ключ-значение" В JavaScript. Класс Map | стандарт ES5
Коллекция уникальных значений В JavaScript. Класс Set | стандарт ES5
Объект {набор свойств и функций}
{} это объект В JavaScript. Объект содержит набор свойств и функции. Пример var book = {Name: "Волшебник Средиземноморья", Price: 120}; | стандарт ES5
{...} = объект в JavaScript заполняем из переменных класса или другим объектом. Пример: const {name, total, price} = b.myProps; | стандарт ES5
Класс (это функция с использованием new) | стандарт ES5
Класс в JavaScript это обычная функция-конструктор. Такая функция-конструктор содержит простые данные, объекты, внутренние функции В JavaScript. Для создания объекта класса используется new Пример: function Book() { ... } ... var obj1 = new Book(); | стандарт ES5
Инкапсуляция переменных (скрытие переменных для доступа) в функции (в виде класса) В JavaScript | стандарт ES5
prototype - это набор функций, переменных для всех экземпляров класса (в виде функции) В JavaScript | стандарт ES5
try catch
Зачем нужно использовать try и catch В JavaScript? | стандарт ES5
Замыкание (closure) В Javascript
Что такое замыкания (closure) В JavaScript ? Стандарт ES5
Управление памятью в JavaScript
Управление памятью в JavaScript | стандарт ES5
Примеры движение картинки и анимация
Анимация человечка на месте. Используем HTML элемент <div>. Для анимации используем CSS стили: "animation", "background-image", "background-position", "keyframes" | стандарт ES5
Анимация человечка в движении (sprite). Используем HTML элементы <div>, <img>. Для анимации используем CSS стили: "animation", "background-image", "background-position", "keyframes" | стандарт ES5
Рисуем картинку с движением. Используем HTML элемент <canvas>. Для движения используем JavaScript: var img = new Image(), img.src = url, drawImage, timer, window.setInterval | стандарт ES5
Рисуем картинку с движением и анимацией (sprite). Используем HTML элемент <canvas>. Для движения используем JavaScript: var img = new Image(), img.src = url, drawImage, timer, window.setInterval | стандарт ES5
Примеры
Как определить устройство (планшет, компьютер, телефон) сейчас используется в JavaScript, HTML | стандарт ES5
Редактор текста пишем на HTML, JavaScript | стандарт ES5
Делаем Popup используя HTML и Javascript
Как сделать Popup окно в HTML странице | Javascript, HTML, CSS
Моя игра (HTML, JavaScript)
Моя игра "Wizard World" | HTML, JavaScript
PDF readers. Загрузка и отображение файла PDF (JavaScript, HTML)
PDF reader. Загрузка и отображение файла PDF (adobe JavaScript, HTML) | PDF JavaScript implemented by Adobe
PDF reader. Загрузка и отображение файла PDF (JavaScript, HTML) | PDF JavaScript implemented by Mozilla
JavaScript стандарт ES6. Издан в 2015 году. Поддерживается НЕ всеми браузерами. Синонимы ES6, ES2015, ECMAScript 2015
В текстовой переменной можно писать выражения с переменными (форматирование, интерполяция строки). Пример: var myText = `Hello ${a}` | JavaScript стандарт ES6
class | Класс В JavaScript. Пример: class Book {...} ... var obj1 = new Book(); | стандарт ES6
promise В JavaScript | стандарт ES6

  Ваши вопросы присылайте по почте: info@dir.by  
Яндекс.Метрика