[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Operators/async_function [Back]  [Original]

Expresso da funo async - JavaScript | MDN

Esta pgina foi traduzida do ingls pela comunidade. Saiba mais e junte-se comunidade MDN Web Docs.

View in English Always switch to English

Expresso da funo async

Baseline Widely available

This feature is well established and works across many devices and browser versions. Its been available across browsers since abril de 2017.

A palavra chave async pode ser usado para definir funes async dentro das expresses.Voc tambem pode definir funes async usando a declarao de funo async.

In this article

Sintaxe

async function [nome]([parametro1[, parametro2[, ..., parametroN]]]) {
    declaraes
}

Como no ES2015, voc tambem pode usar arrow functions.

Parmetros

nome

O nome da funo.Pode ser omitida, na qual a funo se torna anonima . O nome somente local para o corpo da funo.

parametroN

O nome do argumento passado para a funo.

declaraes

As declaraes que compoem o corpo da funo .

Descrio

Uma expresso async function muito similar, e tem quase a mesma sintaxe de uma declarao async function. A principal diferena entre uma expresso async function e uma declarao async function o nome da funo, que pode ser omitido em expresses async function para criar funes annimas. Uma expresso async function pode ser utilizada como um IIFE (Immediately Invoked Function Expression, em traduo livre: Expresso de Funo Invocada Imediatamente) que roda assim que definido. Veja tambm o captulo sobre funes para mais informaes.

Exemplos

Exemplo simples

js
function resolveAfter2Seconds(x) {
  return new Promise((resolve) => {
    setTimeout(() => {
      resolve(x);
    }, 2000);
  });
}

(async function (x) {
  // async function expression usada como uma IIFE
  var a = resolveAfter2Seconds(20);
  var b = resolveAfter2Seconds(30);
  return x + (await a) + (await b);
})(10).then((v) => {
  console.log(v); // imprime 60 aps 2 segundo.
});

var add = async function (x) {
  // async function expression atribuda a uma varivel
  var a = await resolveAfter2Seconds(20);
  var b = await resolveAfter2Seconds(30);
  return x + a + b;
};

add(10).then((v) => {
  console.log(v); // imprime 60 aps 4 segundos.
});

Especificaes

Specification
ECMAScript 2027 LanguageSpecification
# sec-async-function-definitions

Compatibilidade com navegadores

Veja tambm


Web Proxy Viewer  |  New URL  |  Original Page