Movatterモバイル変換


[0]ホーム

URL:


  1. Tecnologia Web para desenvolvedores
  2. JavaScript
  3. Referência JavaScript
  4. Objetos Globais
  5. AsyncFunction

Esta página foi traduzida do inglês pela comunidade.Saiba mais e junte-se à comunidade MDN Web Docs.

View in EnglishAlways switch to English

AsyncFunction

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨abril de 2017⁩.

OconstrutorAsyncFunction cria um novo objetoasync function. Em JavaScript cada função assíncrona é atualmente um objeto do tipoAsyncFunction.

Note queAsyncFunction não é um objeto global. Ele poderia ser obtido analisando o seguinte código:

js
Object.getPrototypeOf(async function () {}).constructor;

Sintaxe

new AsyncFunction([arg1[, arg2[, ...argN]],] functionBody)

Parameters

arg1, arg2, ... argN

Nomes que vão ser usados pela função como argumentos formais. Cada um deve ser uma string que corresponde a um indentificador JavaScript válido ou uma lista das strings separadas com uma vírgula; por exemplo "x", "oValor", or "a,b".

functionBody

Uma string contendo as declarações JavaScript que compõem a definição da função.

Descrição

Objetosasync function criados com o construtorAsyncFunction são tratados quando a função é criada. Isso é menos eficiente que declarar uma função async com aexpression async function e chama-la com seu código, porque essas funções são tratadas com o resto do código.

Todos os argumentos passado para a função são tratados como nomes dos identificadores dos parâmetros na função que vai ser criada, na ordem que eles são passados.

Nota:async functions criadas com o construtorAsyncFunction não cria closures para seus contextos de criação; elas sempre criadas no escopo global. Quando rodar eles, eles só poderão acessar suas variáveis local e as globais, mas não as que estão no escopo que o construtor foiAsyncFunction chamado. Isso é diferente de usareval com código para uma expressão async function.

Invocar o construtorAsyncFunction como uma função (sem usar o operadornew) tem o mesmo efeito de invocá-lo como um construtor.

Propriedades

AsyncFunction.length

A propriedade tamanho do construtor daAsyncFunction cujo valor é 1.

AsyncFunction.prototype

Permite a adição de propriedades para todos os objetos async function.

AsyncFunction prototype object

Propriedades

AsyncFunction instances

InstânciaAsyncFunction herdam métodos e propriedades doAsyncFunction.prototype. Com todos os contrutores, que podem mudar o prototype do objeto construtor para fazer mudanças em todas as instâncias doAsyncFunction.

Exemplos

Criando uma async function a partir do construtor de umaAsyncFunction

js
function resolveAfter2Seconds(x) {  return new Promise((resolve) => {    setTimeout(() => {      resolve(x);    }, 2000);  });}var AsyncFunction = Object.getPrototypeOf(async function () {}).constructor;var a = new AsyncFunction(  "a",  "b",  "return await resolveAfter2Seconds(a) + await resolveAfter2Seconds(b);",);a(10, 20).then((v) => {  console.log(v); // imprime 30 após 4 seconds});

Especificações

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

Compatibilidade com navegadores

Veja também

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp