Skip to content

Promise API - #468

Merged
gabifs merged 2 commits into
javascript-tutorial:masterfrom
diogoosz:translate-promise-api
Nov 8, 2026
Merged

gabifs merged 2 commits into
javascript-tutorial:masterfrom
diogoosz:translate-promise-api

Conversation

@diogoosz

@diogoosz diogoosz commented Nov 7, 2026

Copy link
Copy Markdown
Contributor

Tradução do artigo "Promise API" para o português.

Conforme comentado na #1.

Comment thread 1-js/11-async/05-promise-api/article.md Outdated

````smart header="`Promise.all(iterable)` allows non-promise \"regular\" values in `iterable`"
Normally, `Promise.all(...)` accepts an iterable (in most cases an array) of promises. But if any of those objects is not a promise, it's passed to the resulting array "as is".
````smart header="`Promise.all(iterable)` permite valores "normais" (não promessas) no `iterable`"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As aspas internas do header não estão escapadas. O original usava \"regular\", e o resto do repositório também escapa assim (header="Não exitem regras \"você deve\" "). Sem o escape, o atributo termina em permite valores e o título da caixa smart aparece cortado ou quebrado.

Suggested change
````smart header="`Promise.all(iterable)` permite valores "normais" (não promessas) no `iterable`"
````smart header="`Promise.all(iterable)` permite valores \"normais\" (não promessas) no `iterable`"

Comment thread 1-js/11-async/05-promise-api/article.md Outdated
let requests = urls.map(url => fetch(url));

// Promise.all waits until all jobs are resolved
// Promise.all espera até que todas os trabalhos sejam resolvidos

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Erro de concordância: todas os trabalhos deveria ser todos os trabalhos.

Suggested change
// Promise.all espera até que todas os trabalhos sejam resolvidos
// Promise.all espera até que todos os trabalhos sejam resolvidos

Comment thread 1-js/11-async/05-promise-api/article.md Outdated
## Promise.any

Similar to `Promise.race`, but waits only for the first fulfilled promise and gets its result. If all of the given promises are rejected, then the returned promise is rejected with [`AggregateError`](mdn:js/AggregateError) - a special error object that stores all promise errors in its `errors` property.
Parecido com o `Promise.race`, mas espera apenas pela primeira promessa resolvida e pega o resultado dela. Se todas as promessas dadas forem rejeitadas, então a promessa retornada é rejeitada com [`AggregateError`](mdn:js/AggregateError) - um objeto de erro especial que guarda todos os erros das promessas na sua propriedade `errors`.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aqui fulfilled virou "resolvida", a mesma palavra usada para resolved e para Promise.resolve ("cria uma promessa resolvida"). Só que o estado literal é "fulfilled", e uma promessa resolvida com outra promessa ainda pendente não está fulfilled. Isso também acontece nas linhas 240 e 317 (value (se resolvida)). Sugestão: usar um termo próprio, como "realizada" ou "cumprida", ou deixar fulfilled entre parênteses.

Comment thread 1-js/11-async/05-promise-api/article.md Outdated
```

So for each promise we get its status and `value/error`.
Então, para cada promessa, obtemos o status e o `value`/`error` dela.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

value/error era um único trecho de código. Dividido em `value`/`error`, ele passa a impressão de que existe uma propriedade error. Na verdade a propriedade é reason (como na lista acima). Sugestão: `value`/`reason` ou manter "o valor/erro".

Comment thread 1-js/11-async/05-promise-api/article.md Outdated
## Promise.all

Let's say we want many promises to execute in parallel and wait until all of them are ready.
Digamos que queremos que várias promessas sejam executadas em paralelo e esperar até que todas estejam prontas.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Falta paralelismo na frase: "queremos que ... sejam executadas ... e esperar" junta uma oração no subjuntivo com um infinitivo. Sugestão: "Digamos que queremos executar várias promessas em paralelo e esperar até que todas estejam prontas."

Comment thread 1-js/11-async/05-promise-api/article.md Outdated
# API do Promise

There are 6 static methods in the `Promise` class. We'll quickly cover their use cases here.
Existem 6 métodos estáticos na classe `Promise`. Vamos cobrir rapidamente os seus casos de uso aqui.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"cobrir" (de cover) é um anglicismo. O CLAUDE.md pede "Natural translation over literal". "Abordar" soa mais natural. Isso se repete nas linhas 99, 259 e 261.

Comment thread 1-js/11-async/05-promise-api/article.md Outdated
fetch('/style.css'),
fetch('/data.json')
]).then(render); // render method needs results of all fetches
]).then(render); // o método render precisa dos resultados de todos os fetches

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

O CLAUDE.md diz: "avoid using foreign words". fetches é um substantivo em inglês no plural. Sugestão: "precisa dos resultados de todas as requisições".

Comment thread 1-js/11-async/05-promise-api/article.md Outdated
- `value` (se resolvida) ou `reason` (se rejeitada).
3. `Promise.race(promises)` -- espera que a primeira promessa seja estabelecida, e o resultado/erro dela se torna o resultado final.
4. `Promise.any(promises)` (método adicionado recentemente) -- espera que a primeira promessa seja resolvida, e o resultado dela se torna o resultado final. Se todas as promessas dadas forem rejeitadas, [`AggregateError`](mdn:js/AggregateError) se torna o erro do `Promise.any`.
5. `Promise.resolve(value)` -- faz uma promessa resolvida com o valor dado.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inconsistência: aqui está "faz uma promessa resolvida" (e "faz uma promessa rejeitada" na linha 321), mas antes o texto usa "cria uma promessa resolvida/rejeitada". "cria" fica mais natural e mantém a consistência.

Comment thread 1-js/11-async/05-promise-api/article.md Outdated
@@ -1,40 +1,40 @@
# Promise API
# API do Promise

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

O título mistura Promise (masculino, nome da classe) com o corpo do texto, que traduz promise como "promessa". A linha 99 repete a forma "API do Promise". Uma opção mais consistente é "API de Promise" / "API de promessas".

Comment thread 1-js/11-async/05-promise-api/article.md Outdated
Repare que a ordem dos membros do array resultante é a mesma das promessas de origem. Mesmo que a primeira promessa leve o maior tempo para ser resolvida, ela continua sendo a primeira no array de resultados.

A common trick is to map an array of job data into an array of promises, and then wrap that into `Promise.all`.
Um truque comum é mapear um array de dados de trabalho em um array de promessas, e então envolver isso em um `Promise.all`.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"dados de trabalho" é uma tradução literal de job data e fica estranha. Sugestão: "um array de dados de tarefas" ou "um array de dados".

@diogoosz

diogoosz commented Nov 8, 2026

Copy link
Copy Markdown
Contributor Author

Obrigado, @gabifs! Apliquei tudo: escapei as aspas do header, corrigi concordância, usei "cumprida" exclusivamente pra "fulfilled" (distinto de "resolvida"), corrigi value/reason, ajustei o paralelismo da frase, troquei "cobrir"→"abordar" e "fetches"→"requisições", padronizei "cria uma promessa", e troquei o título pra "API de Promise" pra não misturar gênero.

@gabifs
gabifs merged commit 10dd00c into javascript-tutorial:master Nov 8, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants