From a55b575e8089ee6cab7c5c262a7e6db55d0e34d6 Mon Sep 17 00:00:00 2001 From: Florian Merz Date: Thu, 11 Feb 2021 14:46:50 +0100 Subject: unslug es: move --- .../reference/operators/await/index.html | 102 +++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 files/es/web/javascript/reference/operators/await/index.html (limited to 'files/es/web/javascript/reference/operators/await/index.html') diff --git a/files/es/web/javascript/reference/operators/await/index.html b/files/es/web/javascript/reference/operators/await/index.html new file mode 100644 index 0000000000..d1a84251f1 --- /dev/null +++ b/files/es/web/javascript/reference/operators/await/index.html @@ -0,0 +1,102 @@ +--- +title: await +slug: Web/JavaScript/Referencia/Operadores/await +translation_of: Web/JavaScript/Reference/Operators/await +--- +
{{jsSidebar("Operators")}}
+ +
El operador await es usado para esperar a una {{jsxref("Promise")}}. Sólo puede ser usado dentro de una función {{jsxref("Statements/async_function", "async function")}}.
+ +

Sintaxis

+ +
[rv] = await expression;
+ +
+
expression
+
Una {{jsxref("Promise")}} o cualquier otro valor por el cual haya que esperar.
+
rv
+
+

Regresa el valor terminado de la promesa o solamente un valor si no es unaPromise.

+
+
+ +

Descripción

+ +

La expresión await provoca que la ejecución de una función async sea pausada hasta que una Promise sea terminada o rechazada, y regresa a la ejecución de la función async después del término. Al regreso de la ejecución, el valor de la expresión await es la regresada por una promesa terminada.

+ +

Si la Promise es rechazada, el valor de la expresión await tendrá el valor de rechazo.

+ +

Si el valor de la expresión seguida del operador await  no es una promesa, será convertido a una resolved Promise.

+ +

Ejemplos

+ +

Si una Promise se pasa a una expresión await, espera a que la Promise se resuelva y devuelve el valor resuelto.

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

Si el valor no es una Promise, convierte el valor a una Promise resuelta, y espera por dicho valor.

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

Si la Promise es rechazada, se lanza una excepción con dicho el valor.

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

Especificaciones

+ + + + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('ESDraft', '#sec-async-function-definitions', 'async functions')}}{{Spec2('ESDraft')}}Initial definition in ES2017.
+ +

Compatibilidad con navegadores

+ +
+ + +

{{Compat("javascript.operators.await")}}

+
+ +

Véase también

+ + -- cgit v1.2.3-54-g00ecf