You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 1-js/11-async/01-callbacks/article.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ Se você não está familiarizado com esses métodos, e o uso deles nos exemplos
10
10
Mas nós vamos tentar deixar as coisas claras de qualquer jeito. Não vai ter nada muito complexo em relação ao navegador.
11
11
```
12
12
13
-
Muitas funções providas pelo JavaScript permitem que você agende ações *assíncronas*. Em outras palavras, ações que nós iniciamos agora, mas elas terminam mais tarde.
13
+
Muitas funções providas pelo JavaScript permitem que você agende ações *assíncronas*. Em outras palavras, ações que nós iniciamos agora, mas que terminam mais tarde.
14
14
15
15
Por exemplo, uma dessas funções é a função `setTimeout`.
16
16
@@ -49,7 +49,7 @@ loadScript('/my/script.js');
49
49
50
50
Agora, vamos imaginar que queremos usar o novo script assim que ele terminar de carregar. Ele provavelmente declara novas funções, e queremos executar elas.
51
51
52
-
Mas se nós fizermos isso imediatamente depois da chamada `loadScript(…)`, não iria funcionar.
52
+
Mas se nós fizéssemos isso imediatamente depois da chamada `loadScript(…)`, não iria funcionar.
53
53
54
54
```js
55
55
loadScript('/my/script.js'); // o script tem "function newFunction() {…}"
@@ -106,7 +106,7 @@ loadScript('https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.2.0/lodash.js', s
106
106
*/!*
107
107
```
108
108
109
-
Isso é chamado de programação assíncrona "baseada em callbacks". A função que faz alguma coisa assincronamente deve prover um argumento `callback` onde nós colocamos a função que vai executar depois que ela terminar.
109
+
Isso é chamado de programação assíncrona "baseada em callbacks". A função que faz alguma coisa assincronamente deve prover um argumento `callback` onde nós colocamos a função que vai executar depois que ela estiver completa.
110
110
111
111
Aqui nós fizemos isso em `loadScript`, mas é claro que isso é uma abordagem genérica.
112
112
@@ -156,7 +156,7 @@ Então, toda ação nova fica dentro de um callback. Tudo bem para poucas açõe
156
156
157
157
No exemplo acima nós não consideramos erros. E se o carregamento do script falhar? Nosso callback deveria ser capaz de reagir a isso.
158
158
159
-
Abaixo temos uma versão melhorada do `loadScript` que pega os erros de carregamento:
159
+
Abaixo temos uma versão melhorada do `loadScript` que rastreia os erros de carregamento:
A "pirâmide" de chamadas aninhadas cresce para a direita a cada ação assíncrona e rapidamente sai de controle.
265
+
A "pirâmide" de chamadas aninhadas cresce para a direita a cada ação assíncrona e rapidamente sai do controle.
266
266
267
267
Então esse jeito de programar não é muito bom.
268
268
@@ -300,7 +300,7 @@ function step3(error, script) {
300
300
301
301
Viu? Isso faz a mesma coisa, e não tem um aninhamento profundo agora porque nós fizemos cada ação em uma função separada no mesmo nível.
302
302
303
-
funciona, porém o código parece uma planilha dividida. É difícil de ler, e você provavelmente percebeu que precisamos pular entre as partes do código enquanto estamos lendo ele. Isso é inconveniente, especialmente se o leitor não estiver familiarizado com o código e não souber para onde pular.
303
+
Funciona, porém o código parece uma planilha dividida. É difícil de ler, e você provavelmente percebeu que precisamos de pular entre as partes do código enquanto estamos lendo ele. Isso é inconveniente, especialmente se o leitor não estiver familiarizado com o código e não souber para onde pular.
304
304
305
305
Além disso, as funções chamadas `step*` são todas utilizadas apenas uma vez. Elas são criadas apenas pra evitar a "pirâmide da perdição." Ninguém vai reutilizá-las fora da cadeia de ações. Então tem um pouco de bagunça aqui.
0 commit comments