Skip to content

Commit 58420f8

Browse files
committed
docs: update call-apply-decorators/delay article
1 parent 553b999 commit 58420f8

File tree

3 files changed

+20
-20
lines changed

3 files changed

+20
-20
lines changed

1-js/06-advanced-functions/09-call-apply-decorators/02-delay/_js.view/test.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ describe("delay", function() {
77
this.clock.restore();
88
});
99

10-
it("chama a função depois do limite de tempo especificado", function() {
10+
it("chama a função após o tempo de espera especificado", function() {
1111
let start = Date.now();
1212

1313
function f(x) {
@@ -16,12 +16,12 @@ describe("delay", function() {
1616
f = sinon.spy(f);
1717

1818
let f1000 = delay(f, 1000);
19-
f1000("test");
19+
f1000("teste");
2020
this.clock.tick(2000);
21-
assert(f.calledOnce, 'A verificação do calledOnce falhou');
21+
assert(f.calledOnce, 'a verificação de calledOnce falha');
2222
});
2323

24-
it("passa os argumentos e this", function() {
24+
it("passa os argumentos e o contexto de this", function() {
2525
let start = Date.now();
2626
let user = {
2727
sayHi: function(phrase, who) {
@@ -37,10 +37,10 @@ describe("delay", function() {
3737
let spy = user.sayHi;
3838
user.sayHi = delay(user.sayHi, 1500);
3939

40-
user.sayHi("Hello", "John");
40+
user.sayHi("Olá", "John");
4141

4242
this.clock.tick(2000);
4343

44-
assert(spy.calledOnce, 'A verificação do calledOnce falhou');
44+
assert(spy.calledOnce, 'a verificação de calledOnce falhou');
4545
});
46-
});
46+
});

1-js/06-advanced-functions/09-call-apply-decorators/02-delay/solution.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,22 @@ function delay(f, ms) {
1111

1212
let f1000 = delay(alert, 1000);
1313

14-
f1000("test"); // exibe "test" depois de 1000ms
14+
f1000("teste"); // exibe "teste" após 1000ms
1515
```
1616

17-
Por favor note como uma função seta (arrow function) é usada aqui. Tal como sabemos, funções seta não têm seus próprios `this` e `arguments`, então `f.apply(this, arguments)` recebe `this` e `arguments` a partir do encapsulador.
17+
Nota como é utilizada aqui uma função de seta (ou função anónima). Como sabemos, as funções de seta não possuem `this` e `arguments` próprios, então `f.apply(this, arguments)` recebe o `this` e `arguments` da função envolvente.
1818

19-
Se passássemos uma função normal, `setTimeout` iria chamá-la sem argumentos nem `this=window` (assumindo que estávamos no browser).
19+
Se passarmos uma função normal, `setTimeout` a chamaria sem argumentos e `this=window` (assumindo que estamos no navegador).
2020

21-
Ainda podemos passar o `this` certo atráves do uso de uma variável intermédia, porém é um pouco mais difícil:
21+
Nós podemos ainda passar o `this` correto utilizando uma variável intermediária, mas isso é um pouco mais complicado:
2222

2323
```js
2424
function delay(f, ms) {
2525

2626
return function(...args) {
27-
let savedThis = this; // guarde isto numa variável intermédia
27+
let savedThis = this; // armazenar isto numa variável intermédia
2828
setTimeout(function() {
29-
f.apply(savedThis, args); // use-a aqui
29+
f.apply(savedThis, args); // utilizá-lo aqui
3030
}, ms);
3131
};
3232

1-js/06-advanced-functions/09-call-apply-decorators/02-delay/task.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ importance: 5
22

33
---
44

5-
# Atrasando o decorador
5+
# Decorador de Atraso
66

7-
Crie um decorador `delay(f, ms)` que atrase cada chamada de `f` por `ms` milissegundos.
7+
Crie um decorador `delay(f, ms)` que atrasa cada chamada de `f` por `ms` milissegundos.
88

99
Por exemplo:
1010

@@ -13,14 +13,14 @@ function f(x) {
1313
alert(x);
1414
}
1515

16-
// cria encapsuladores
16+
// criar funções envolventes
1717
let f1000 = delay(f, 1000);
1818
let f1500 = delay(f, 1500);
1919

20-
f1000("test"); // exibe "test" depois de 1000ms
21-
f1500("test"); // exibe "test" depois de 1500ms
20+
f1000("teste"); // exibe "teste" após 1000ms
21+
f1500("teste"); // exibe "teste" após 1500ms
2222
```
2323

24-
Por outras palavras, `delay(f, ms)` retorna uma variante de `f` "atrasada em `ms`".
24+
Por outras palavras, `delay(f, ms)` retorna uma variante "atrasada por `ms`" de `f`.
2525

26-
No código acima, `f` é uma função com um único argumento, porém a sua solução deve passar todos os argumentos e o `this` do contexto.
26+
No código acima, `f` é uma função de um único argumento, mas a sua solução deve passar todos os argumentos e o contexto de `this`.

0 commit comments

Comments
 (0)