Movatterモバイル変換


[0]ホーム

URL:


  1. Веб-технологии для разработчиков
  2. JavaScript
  3. Справочник по JavaScript
  4. Выражения и операторы
  5. await

This page was translated from English by the community.Learn more and join the MDN Web Docs community.

View in EnglishAlways switch to English

await

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨март 2017 г.⁩.

* Some parts of this feature may have varying levels of support.

Операторawait используется для ожидания окончанияPromise. Может быть использован только внутриasync function или на верхнем уровнемодуля.

Синтаксис

[rv] = await expression;
expression

Promise или любое другое значение для ожидания разрешения.

rv

Возвращает полученное изPromise значение, либо само значение, если оно не являетсяPromise.

Описание

Операторawait заставляет функцию, объявленную с использованием оператораasync, ждать выполненияPromise и продолжать выполнение после возвращенияPromise значения. Впоследствии возвращает полученное изPromise значение. Если типом значения, к которому был применён операторawait, является неPromise, то значение приводится к успешно выполненномуPromise.

ЕслиPromise отклоняется, тоawait генерирует исключение с отклонённым значением.

Примеры

await ожидает разрешенияPromise и возвращает полученное значение.

js
function resolveAfter2Seconds(x) {  return new Promise((resolve) => {    setTimeout(() => {      resolve(x);    }, 2000);  });}async function f1() {  var x = await resolveAfter2Seconds(10);  console.log(x); // 10}f1();

Если типом значения является неPromise, значение преобразуется к успешно выполненномуPromise.

js
async function f2() {  var y = await 20;  console.log(y); // 20}f2();

ЕслиPromise отклонён, то выбрасывается исключение с переданным значением.

js
async function f3() {  try {    var z = await Promise.reject(30);  } catch (e) {    console.log(e); // 30  }}f3();

Обработка отклонённогоPromise безtry/catch блока.

js
var response = await promisedFunction().catch((err) => {  console.log(err);});// response получит значение undefined, если Promise будет отклонён

Спецификации

Specification
ECMAScript® 2026 Language Specification
# sec-async-function-definitions

Совместимость с браузерами

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

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp