Promise что это значит

Promise — перевод, произношение, транскрипция

глагол ↓

существительное ↓

Мои примеры

Словосочетания

Примеры

I promise to be careful.

Обещаю, что буду осторожен.

She gave me her promise.

Она дала мне обещание.

I hate to break my promise.

Терпеть не могу нарушать обещания.

Dark clouds promise rain.

Тёмные тучи предвещают дождь.

I promise not to trouble you again.

Я обещаю не беспокоить вас снова.

I promise I will do my duty.

Я обещаю, я выполню свой долг.

‘I promise,’ she repeated.

— Я обещаю, — повторила она.

I promise not to tell anyone.

Я обещаю никому не рассказывать.

I promise you, it does work!

Честное слово /уверяю вас/, это работает!

Don’t make promises you can’t keep.

Не давайте обещаний, которые вы не сможете сдержать.

He acted up to his promise.

Он сделал, как обещал.

I’ll hold you by your promise.

Ловлю тебя на слове.

She made a promise to write every week.

Она обещала писать каждую неделю.

She’s promised to do all she can to help.

Она обещала сделать всё возможное, чтобы помочь.

I promise you my best effort.

Я обещаю вам, что приложу все усилия /что сделаю всё возможное/.

I’ve promised the next dance to Jim.

Следующий танец я обещала Джиму.

Promise you won’t say a word to anyone?

Обещай, что не скажешь никому ни слова?

They ratted on their promise.

Они отказались от своих обещаний.

She didn’t fulfil her early promise.

Она не выполнила своё предыдущее обещание.

I promise I won’t tell a soul.

Обещаю, я никому не скажу.

Hurry up — we promised we wouldn’t be late.

Давайте быстрее: мы обещали, что не опоздаем.

His promise is not worth a damn.

Его обещания ни черта не стоят.

I might have to break my promise.

Возможно, мне придётся нарушить своё обещание.

I promise not to disturb anything.

Обещаю ничего не трогать.

Those gray skies promise rain.

Это пасмурное небо предвещает дождь.

He was released from his promise.

Он был освобождён от своего обещания.

She promised to announce the results tomorrow.

Она обещала огласить результаты завтра.

Her promise isn’t worth a damn.

Её обещание ни черта не стоит.

The company promised us a bonus this year.

Руководство компании обещало нам в этом году премию.

She had extracted a promise from him.

Она заставила его кое-что пообещать.

Примеры, ожидающие перевода

The results promised fame and glory

He was able to exact a promise from them.

We apologize for the mistake and promise that it won’t happen again.[del]

Для того чтобы добавить вариант перевода, кликните по иконке ☰ , напротив примера.

Источник

Промисы на примерах из жизни

Поговорим о промисах простыми словами

Промисы простыми словами

Представьте это как разговор между двумя людьми:

Алекс: Эй, мистер Промис! Можешь сбегать в магазин и принести мне itemA для блюда, которое мы приготовим сегодня вечером?

Промис: Отличная мысль!

Алекс: Пока ты бегаешь, я подготовлю itemB (асинхронная операция). Только обязательно скажи, нашел ли ты itemA (возвращаемое промисом значение).

Промис: А если тебя не будет дома, когда я вернусь?

Алекс: Тогда отправь мне смску, что ты вернулся и принес item для меня (успешный колбэк). Если ты не найдешь, позвони мне немедленно (неуспешный колбэк).

Промис: Отлично! Увидимся позже!

Проще говоря, объект promise —это данные, возвращаемые асинхронной функцией. Это может быть resolve , если функция прошла успешно или reject , если функция вернула ошибку.

Определение

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

Промис в JS

Давайте сначала поговорим о JavaScript и его параллелизме. JavaScript является однопоточным. Всё происходит в той последовательности, в которой написано, но асинхронные операции происходят в порядке их завершения.

Что, по вашему мнению, выведется в консоль в следующем примере?

Результатом будет 1 3 4 2 . Вы можете задаться вопросом, почему 4 встречается раньше чем 2 . Причина в том, что, несмотря на то, что строка с 2 описана раньше, она начала выполняться только после 3000 мс, поэтому 4 выводится до 2 .

В типичном веб-приложении может выполняться множество асинхронных операций, таких как загрузка изображений, получение данных из JSON, обращение к API и других.

Теперь рассмотрим, как создать промис в JavaScript:

Конструктор Promise принимает один аргумент: колбэк с двумя параметрами — resolve и reject . Этот промис может быть использован следующим образом:

Если промис прошёл успешно, будет выполнен resolve , и консоль выведет Промис сработал , в противном случае выведется Что-то сломалось . Это состояние до получения resolve или reject называется состоянием ожидания, pending . Таким образом, есть три состояния промиса:

  1. Ожидание ответа: pending
  2. Успешное выполнение: resolve
  3. Выход ошибкой: reject

Пример

Чтобы полностью понять концепцию промисов, создадим приложение, которое загрузит изображение. Если изображение загружено, оно будет отображено, иначе будет выводится ошибка.

Сначала создадим promise с XMLHttpRequest :

Теперь, когда изображение успешно загружено, promise вернет resolve с ответом от XHR. Давайте используем этот promise , вызвав функцию loadImage .

Мы сделали это! Неплохо, да?

А теперь сделай несколько промисов сам! Давай 🙂

Дополнительные материалы

Вот некоторые статьи, которые показались мне очень полезным в процессе обучения:

Источник

Promise — краткое руководство

Для автора это первая в жизни статья написанная где-либо и когда-либо.

Вступление

Цель данной статьи рассказать о жизненном цикле Promise и о отличиях методов all vs any vs race vs allSettled.
В данном тексте нет ничего супернаучного, поэтому могу предположить что статья расчитана на Junior+.

Кратко

Жизненный цикл Promise

Исходя из документации мы можем говорить что инстанс Promise имеет несколько динамически изменяемых сущностей:

State — может быть в трех состояниях, pending , fulfilled и rejected ;

Fate — бывает в двух состояниях, unresolved или resolved ;

Settled — имеет два состояния settled и unsettled .

Cразу после создания, промис находится в состоянии pending , следующим шагом может быть три варианта, первые два которые я упомяну это resolve(any) и reject(any) , последним мы разберем resolve(thenable) .

resolve(any) — переводим промис в состояние fulfilled , вызываем onFulfilled ;

reject(any) — переводим промис в состояние rejected , вызываем onRejected ;

resolve(promise) — если в качестве аргумента мы передадим в resolve другой промис то мы отложим resolve основного промиса до тех пор, пока не выполнится вложенный, а точнее пока он не станет settled , т.е. пока не перейдет в состояние fulfilled или rejected .

состояние

new Promise()

resolve(promise)

resolve(any)

reject(any)

Состояние — это сущность промиса, которая изменяется на протяжении его жизни в направлении от pending до fulfilled или rejected.

Завершен — это сущность промиса которая говорит о том, завершена ли работа текущего промиса (resolved), которая определяется вызовом метода resolve или reject, важно понимать что завершение работы не значит что значение установлено.

Установлен — это сущность промиса которая говорит о том, установлено ли значение для этого промиса, речь идёт о аргументах переданных в resolve или reject.

Сравнение all vs any vs race vs allSettled

Несколько промисов в один можно объеденить c помощью статических методов класса Promise:

all — нужны все выполненные

any — нужен хотя бы один выполненный

race — нужен первый завершенный

allSettled — нужны все завершенные

all

any

race

allSettled

если аргумент пустой массив

все resolved
или
один rejected

один resolved
или
все rejected

один resolved
или
один rejected

все resolved
и
все rejected

возвращает в коллбэк в случае fulfilled

все resolved
или
первый rejected

первый resolved
или
первый rejected

все resolved
и
все rejected

Если в метод all передать пустой массив Promise.all([]) , то возвращаемый методом all промис становится fulfilled так как у него нет ни одного rejected промиса.

Если в метод all передать массив с промисами Promise.all([. ]) , то возвращаемый методом all промис становится fulfilled в двух случаях: если все промисы в массиве будут resolved или хотя бы один будет rejected.

Если возвращаемый методом all промис становится fulfilled то в соответствующий коллбэк отправляется массив данных от всех resolved промисов или данные от одного rejected промиса.

Если в метод any передать пустой массив Promise.any([]) , то возвращаемый методом any промис становится rejected так как у него нет ни одного fulfilled промиса.

Если в метод any передать массив с промисами Promise.any([. ]) , то возвращаемый методом any промис становится fulfilled в двух случаях: если хотя бы один будет resolved или все промисы в массиве будут rejected.

Если возвращаемый методом any промис становится fulfilled то в соответствующий коллбэк отправляется данные от первого resolved промиса или AggregateError так ни один промис не закончился успешно.

Если в метод race передать пустой массив Promise.race([]) , то возвращаемый методом race промис остается pending так как у него нет ни одного fulfilled промиса.

Если в метод race передать массив с промисами Promise.race([. ]) , то возвращаемый методом race промис остается pending до тех пор пока хотя бы один промис в массиве не станет resolved или rejected.

Если возвращаемый методом race промис становится fulfilled то в соответствующий коллбэк отправляется данные от первого resolved или первого rejected промиса.

Если в метод allSettled передать пустой массив Promise.allSettled([]) , то возвращаемый методом allSettled промис становится fulfilled.

Если в метод allSettled передать массив с промисами Promise.allSettled([. ]) , то возвращаемый методом allSettled промис становится fulfilled в случае: если все промисы в массиве будут settled.

Если возвращаемый методом allSettled промис становится fulfilled то в соответствующий коллбэк отправляется массив данных от всех settled промисов.

Источник

Читайте также:  Что значит быть порознь
Оцените статью