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
* fix: more accurate ptBr translations for "config_defaults" page
* fix: missing accent in "cópia"
* chore: quotes on every property, added missing translations for the "sponsors" section
* feat: added missing translations, fixed some minor typos
* fix: improved ptBR translations, fixed some small typos
* feat: added updated translations
* fix: fixed some typos, added missing aliases
* fix: fixed some typos, changed some translations to be more clear and concise
* feat: added missing properties and updated existing ones
* feat: added missing translation for statusText
* fix: fixed some typos, code formatting and mistranslations
* fix: updated translation for config defaults page title
* fix: more fitting translation for the "handling_errors" page title
* fix: using console.log instead of console.error, added some clarity for the comments' translations
* fix: fixed "deprecated" translation to be more in line with other pages
* feat: update translation for the whole page, adding missing translations and slightly altering existing ones
* fix: fixed translation for "ulencoded" page title
* feat: added missing translations
* feat: added "new" emoji, in line with the english docs
* feat: translation for the "multipart" page
* fix: typo
---------
Co-authored-by: Jay <[email protected]>
A partir da `v0.22.0`, o Axios oferece suporte ao [`AbortController`](https://developer.mozilla.org/en-US/docs/Web/API/AbortController) para cancelar requisições em forma de API fetch.
11
+
Definindo a propriedade `timeout` numa chamada do axios, lidamos com timeouts na **resposta**.
12
+
13
+
Em alguns casos (caso a conexão com a rede torne-se indisponível, por exemplo) uma chamada do axios se beneficiaria de poder cancelar a **conexão** de forma prematura. Sem o cancelamento, a chamada ficará esperando até que a requisição exceda o tempo máximo definido no `timeout` (o que pode demorar alguns minutos em uma aplicação server-side).
14
+
15
+
Para finalizar uma chamada você pode utilizar os seguintes métodos:
16
+
-`signal`
17
+
-`cancelToken` (descontinuado)
18
+
19
+
Utilizando `timeout` em conjunto com um método de cancelamento (`signal`, por exemplo), podemos lidar com timeouts na **resposta** E TAMBÉM na **conexão**
20
+
21
+
### `signal`: AbortController
22
+
23
+
A partir da versão `v0.22.0`, Axios suporta o uso de [`AbortController`](https://developer.mozilla.org/en-US/docs/Web/API/AbortController) para cancelar requisições realizadas via API fetch:
12
24
13
25
```js
14
26
constcontroller=newAbortController();
@@ -22,13 +34,40 @@ axios.get('/foo/bar', {
22
34
controller.abort()
23
35
```
24
36
25
-
## CancelToken `descontinuado`
37
+
Exemplo com timeout utilizando a API [`AbortSignal.timeout()`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal/timeout) mais recente [nodejs 17.3+]:
38
+
```js
39
+
axios.get('/foo/bar', {
40
+
signal:AbortSignal.timeout(5000) // aborta a requisição após 5 segundos
As configurações serão mescladas pela ordem de precedente. A ordem é o padrão da biblioteca encontrados em [lib/defaults.js](https://github.com/axios/axios/blob/master/lib/defaults.js#L28), depos as propriedades`defaults` da instância, e finalmente `config`argumentos para a requisição. O último terá precedência sobre o primeiro. Aqui está um exemplo.
35
+
As configurações serão mescladas seguindo a ordem de precedência. A ordem é os padrões da biblioteca encontrados em [lib/defaults.js](https://github.com/axios/axios/blob/master/lib/defaults.js#L28), depois a propriedade`defaults` da instância, e finalmente o argumento `config`da requisição. Os últimos terão precedência sobre os primeiros. Aqui está um exemplo.
36
36
37
37
```js
38
-
// Cria uma instancia usando os padrões de configurações fornecidas pela biblioteca
38
+
// Cria uma instância usando os padrões de configuração fornecidos pela biblioteca
39
39
// Neste ponto o valor do timeout é de `0` pois é o padrão da biblioteca
40
40
constinstance=axios.create();
41
41
42
-
// Sobrescreve o valor do tempo de espera da biblioteca
43
-
// Agora todas as requisições que usarem está instancia terá que esperar 2.5 secundos antes do tempo se esgotar
42
+
// Sobrescreve o tempo de espera padrão da biblioteca
43
+
// Agora todas as requisições que usarem está instância terão que esperar 2.5 segundos antes do tempo se esgotar
44
44
instance.defaults.timeout=2500;
45
45
46
-
// Sobrescreve o tempo de espera para apenas está requisição por levar um tempo maior
46
+
// Sobrescreve o tempo de espera para apenas esta requisição pois sabemos que ela é demorada
Em ordem de usar o TypeScript (para intellissen e/ou preenchimento automático) enquanto usando CommonJS, importe com o `require()` utilize a seguinte abordagem:
11
+
Para usar o TypeScript (para intellisense e/ou preenchimento automático) enquanto utiliza importação via `require()` com CommonJS, utilize a seguinte abordagem:
12
12
13
13
```js
14
14
constaxios=require('axios').default;
15
15
16
-
// axios.<método> agora o axios fornecerá preenchimento automático e tipagens de parâmetros
16
+
// axios.<método> agora contará com preenchimento automático e tipagem de parâmetros
17
17
```
18
18
19
19
# Exemplo
@@ -23,21 +23,21 @@ Executando uma requisição `GET`
23
23
```js
24
24
constaxios=require('axios');
25
25
26
-
// Faz uma requisição a um usuarío com um ID expecifico
26
+
// Faz uma requisição a um usuário com um ID expecífico
27
27
axios.get('/user?ID=12345')
28
28
.then(function (response) {
29
-
// manipula o sucesso da requisição
29
+
// manipula a resposta da requisição
30
30
console.log(response);
31
31
})
32
32
.catch(function (error) {
33
-
// manipula erros da requisição
34
-
console.error(error);
33
+
// manipula os erros
34
+
console.log(error);
35
35
})
36
36
.finally(function () {
37
37
// sempre será executado
38
38
});
39
39
40
-
// Opcionalmente a requisição acima poderia ser feita assim da seguinte forma
40
+
// Opcionalmente a requisição acima poderia ser feita da seguinte maneira
41
41
axios.get('/user', {
42
42
params: {
43
43
ID:12345
@@ -47,13 +47,13 @@ axios.get('/user', {
47
47
console.log(response);
48
48
})
49
49
.catch(function (error) {
50
-
console.error(error);
50
+
console.log(error);
51
51
})
52
52
.finally(function () {
53
53
// sempre será executado
54
54
});
55
55
56
-
// Quer usar async/await? Adicione o prefixo `async` na sua função/método
56
+
// Quer usar async/await? Adicione o prefixo `async` à sua função/método
57
57
asyncfunctiongetUser() {
58
58
try {
59
59
constresponse=awaitaxios.get('/user?ID=12345');
@@ -63,5 +63,6 @@ async function getUser() {
63
63
}
64
64
}
65
65
```
66
+
66
67
> **NOTA:**`async/await` faz parte do ECMAScript 2017 e não é suportado no Internet
67
-
> Explorer e versões antigas de browsers, use com cuidado.
68
+
> Explorer e navegadores antigos, use com cuidado.
0 commit comments