Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update spanish version #193

Open
wants to merge 13 commits into
base: master
Choose a base branch
from
54 changes: 48 additions & 6 deletions es.lang.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,20 +14,32 @@ module.exports = {
subhead: `Axios es un cliente HTTP simple basado en promesas para el navegador y node.js.
Axios provee una librería fácil de usar en un paquete pequeño con una
interfaz muy extensible.`,
sponsors: `<p>Gracias por considerar ayudar nuestro proyecto.</p>
<p>Serás automáticamente agregado a esta lista en 24 horas si el plan seleccionado provee este beneficio.</p>`

},
// `t` stands fot `translation`. This will contain translations of single words or phrases
t: {
"Get Started": "Empezando",
"View on GitHub": "Ver en GitHub",
Languages: "Idiomas",
"Languages": "Idiomas",
"Open Source": "Código Abierto",
Contribute: "Contribuir",
"Contribute": "Contribuir",
"Source on GitHub": "Código en GitHub",
"Issues": "Problemas",
"Pull Requests": "Pull Requests",
"Code of conduct": "Código de Conducta",
"Fork on GitHub": "Bifurcar en GitHub",
"Fork the Website": "Bifurcar el Sitio Web",
"Create an Issue": "Crear un reporte",
Next: "Siguiente",
Previous: "Anterior",
"Next": "Siguiente",
"Previous": "Anterior",
"Website Copy Right Footer": "Website Copy Right Footer",
"Axios Project Copy Right Footer": "Axios Project Copy Right Footer",
"License Label Footer": "License Label Footer",
"Sponsors": "Patrocinadores",
"Become a sponsor": "Convertirse en patrocinador"

},
sidebar: [
{
Expand Down Expand Up @@ -93,10 +105,40 @@ module.exports = {
href: "/docs/cancellation",
text: "Cancelación",
},
{
type: "link",
href: "/docs/res_schema",
text: "Esquema de Respuesta",
},
{
type: "link",
href: "/docs/config_defaults",
text: "Configuraciones por Defecto",
},
{
type: "link",
href: "/docs/interceptors",
text: "Interceptores",
},
{
type: "link",
href: "/docs/handling_errors",
text: "Manejando Errores",
},
{
type: "link",
href: "/docs/cancellation",
text: "Cancelación",
},
{
type: "link",
href: "/docs/urlencoded",
text: "Cuerpos de solicitud codificados como URL",
text: "🆕 Contenido tipo URL-Encoding",
},
{
type: "link",
href: "/docs/multipart",
text: "🆕 Contenido tipo Multipart",
},
{
type: "heading",
Expand Down Expand Up @@ -129,7 +171,7 @@ module.exports = {
{
type: "link",
href: "/docs/translating",
text: "Traducir estos documentos",
text: "Traduciendo esta documentación",
},
],
};
8 changes: 4 additions & 4 deletions posts/es/api_intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
title: 'API de Axios'
description: 'Referencia del API de Axios'
prev_title: 'Petición Post'
prev_link: '/es/docs/post_example'
prev_link: 'post_example'
next_title: 'La instancia Axios'
next_link: '/es/docs/instance'
next_link: 'instance'
---

Las peticiones pueden ser hechas pasando la configuración relevante a `axios`.
Expand Down Expand Up @@ -42,9 +42,9 @@ axios({
axios('/user/12345');
```

### Alias de metodos de petición
### Alias de métodos de petición

Por conveniencia los alias han sido proveídos para todos los métodos de petición.
Por conveniencia los alias han sido proveídos para todos los métodos de petición soportados.

##### axios.request(config)
##### axios.get(url[, config])
Expand Down
169 changes: 96 additions & 73 deletions posts/es/cancellation.md
Original file line number Diff line number Diff line change
@@ -1,121 +1,144 @@
---
title: "Cancelación"
prev_title: "Manejando Errores"
prev_link: "/es/docs/handling_errors"
next_title: "Cuerpos de solicitud codificados como URL"
next_link: "/es/docs/urlencoded"
title: 'Cancelación'
prev_title: 'Manejando Errores'
prev_link: 'handling_errors'
next_title: 'Contenido tipo URL-Encoding'
next_link: 'urlencoded'
---

## AbortController
## Cancelando solicitudes

Empezando desde `v0.22.0` Axios soporta el [`AbortController`](https://developer.mozilla.org/en-US/docs/Web/API/AbortController) para cancelar peticiones de la misma forma que la API de fetch:
Al configurar la propiedad `timeout` de una llamada axios, se manipularán los timeouts de su **respuesta**.

En algunos casos (e.g. las conexiones a la red dejan de estar disponibles) una llamada axios se beneficiaría de la cancelación temprana de dicha **conexión**. Sin la cancelación, la llamada axios se puede colgar hasta que el código o pila padre se terminen (pueden ser unos cuantos minutos en aplicaciones servidor).

Para terminar una llamada axios puedes usar los siguientes métodos:
- `signal`
- `cancelToken` (obsoleto)

La combinación de `timeout` y un método de cancelación (e.g. `signal`) deberían cubrir los timeouts relacionados a la **respuesta** Y a la **conexión**.

### `signal`: AbortController

Comenzando desde `v0.22.0` Axios soporta el [`AbortController`](https://developer.mozilla.org/en-US/docs/Web/API/AbortController) para cancelar solicitudes de la forma de la API fetch:

```js
const controller = new AbortController();

axios
.get("/foo/bar", {
signal: controller.signal,
})
.then(function (response) {
//...
});
// cancelar la peticion
controller.abort();
axios.get('/foo/bar', {
signal: controller.signal
}).then(function(response) {
//...
});
// cancelar la solicitud
controller.abort()
```

## CancelToken `obsoleto`
Ejemplo con timeout usando la última [`AbortSignal.timeout()`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal/timeout) API [nodejs 17.3+]:
```js
axios.get('/foo/bar', {
signal: AbortSignal.timeout(5000) // Aborta la solicitud después de 5 segundos
}).then(function(response) {
//...
});
```

También puedes cancelar una petición usando un _CancelToken_.
Ejemplo con una función auxiliar de timeout:
```js
function newAbortSignal(timeoutMs) {
const abortController = new AbortController();
setTimeout(() => abortController.abort(), timeoutMs || 0);

> La API token de cancelación está basado en la propuesta [propuesta para cancelar promesas](https://github.com/tc39/proposal-cancelable-promises).
return abortController.signal;
}

> Esta API es obsoleto desde `v0.22.0` y no debería ser usada en proyectos nuevos
axios.get('/foo/bar', {
signal: newAbortSignal(5000) //Aborta la solicitud después de 5 segundos
}).then(function(response) {
//...
});
```

### CancelToken `obsoleto`

También puedes cancelar una solicitud usando un *CancelToken*.

> La API de token de cancelación de axios está basada en el documento [propuesta de promesas cancelables](https://github.com/tc39/proposal-cancelable-promises) retirado.

> Esta API está obsoleta desde `v0.22.0` y no debe ser usada en proyectos nuevos.

Puedes crear un token de cancelación usando el factory `CancelToken.source` a como se muestra a continuación:

```js
const CancelToken = axios.CancelToken;
const source = CancelToken.source();

axios
.get("/user/12345", {
cancelToken: source.token,
})
.catch(function (thrown) {
if (axios.isCancel(thrown)) {
console.log("Peticion Cancelada", thrown.message);
} else {
// Manejar error
}
});

axios.post(
"/user/12345",
{
name: "new name",
},
{
cancelToken: source.token,
axios.get('/user/12345', {
cancelToken: source.token
}).catch(function (thrown) {
if (axios.isCancel(thrown)) {
console.log('Request canceled', thrown.message);
} else {
// manejar error
}
);
});

// cancelar la petición (el parámetro mensaje es opcional)
source.cancel("Operation canceled by the user.");
axios.post('/user/12345', {
name: 'new name'
}, {
cancelToken: source.token
})

// cancelar la solicitud (el parámetro mensaje es opcional)
source.cancel('Operation canceled by the user.');
```

También puedes crear un token de cancelación pasando una función ejecutora al constructor del `CancelToken`:
También puedes crear un token de cancelación pasando una función ejecutora al constructor de `CancelToken`:

```js
const CancelToken = axios.CancelToken;
let cancel;

axios.get("/user/12345", {
axios.get('/user/12345', {
cancelToken: new CancelToken(function executor(c) {
// Una función ejecutora recibe una función de cancelación como parámetro
// Una función ejecutora recibe una función cancelar como parámetro
cancel = c;
}),
})
});

// cancelar la petición
// cancelar la solicitud
cancel();
```

> Nota: puedes cancelar muchas peticiones con el mismo token / signal.
> Nota: puedes cancelar varias solicitudes con el mismo token / signal de cancelación.

Durante el periodo de transición, puedes usar ambas APIs de cancelación, aun para la misma petición:
Durante el periodo de transición, puedes usar ambas APIs de cancelación, incluso para la misma solicitud:

```js
const controller = new AbortController();

const CancelToken = axios.CancelToken;
const source = CancelToken.source();

axios
.get("/user/12345", {
cancelToken: source.token,
signal: controller.signal,
})
.catch(function (thrown) {
if (axios.isCancel(thrown)) {
console.log("Request canceled", thrown.message);
} else {
// manejar error
}
});

axios.post(
"/user/12345",
{
name: "new name",
},
{
cancelToken: source.token,
axios.get('/user/12345', {
cancelToken: source.token,
signal: controller.signal
}).catch(function (thrown) {
if (axios.isCancel(thrown)) {
console.log('Request canceled', thrown.message);
} else {
// manejar error
}
);
});

axios.post('/user/12345', {
name: 'new name'
}, {
cancelToken: source.token
})

// cancelar la petición (el parámetro mensaje es opcional)
source.cancel("Operation canceled by the user.");
// O
controller.abort(); // el parámetro mensaje no es soportado
source.cancel('Operation canceled by the user.');
// OR
controller.abort(); // el parámetro mensaje no esta soportado
```
6 changes: 3 additions & 3 deletions posts/es/config_defaults.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
title: 'Configuraciones por Defecto'
prev_title: 'Esquema de Respuesta'
prev_link: '/es/docs/res_schema'
prev_link: 'res_schema'
next_title: 'Interceptores'
next_link: '/es/docs/interceptors'
next_link: 'interceptors'
---

## Configuraciones por Defecto
Expand Down Expand Up @@ -32,7 +32,7 @@ instance.defaults.headers.common['Authorization'] = AUTH_TOKEN;

### Configurar orden de precedencia

La configuración será combinada en orden de precedencia. El orden es: valores predeterminados de la biblioteca que se encuentran en [lib/defaults.js](https://github.com/axios/axios/blob/master/lib/defaults.js#L28), luego la propiedad `defaults` de la instancia, y finalmente el argumento `config` de la petición. Este último tendrá prioridad sobre el primero. Aquí hay un ejemplo.
La configuración será combinada en orden de precedencia. El orden es: valores predeterminados de la librería que se encuentran en [lib/defaults.js](https://github.com/axios/axios/blob/master/lib/defaults.js#L28), luego la propiedad `defaults` de la instancia, y finalmente el argumento `config` de la petición. Este último tendrá prioridad sobre el primero. Aquí hay un ejemplo.

```js
// Crear una instancia usando la configuración por defecto proveída por la librería
Expand Down
4 changes: 2 additions & 2 deletions posts/es/example.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
title: 'Ejemplo Mínimo'
description: 'Un ejemplo pequeño de como usar Axios'
prev_title: 'Introducción'
prev_link: '/es/docs/intro'
prev_link: 'intro'
next_title: 'Petición POST'
next_link: '/es/docs/post_example'
next_link: 'post_example'
---

## nota: Uso de CommonJS
Expand Down
4 changes: 2 additions & 2 deletions posts/es/handling_errors.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
title: 'Manejando Errores'
prev_title: 'Interceptores'
prev_link: '/es/docs/interceptors'
prev_link: 'interceptors'
next_title: 'Cancelación'
next_link: '/es/docs/cancellation'
next_link: 'cancellation'
---

```js
Expand Down
4 changes: 2 additions & 2 deletions posts/es/instance.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
title: 'La instancia Axios'
prev_title: 'API de Axios'
prev_link: '/es/docs/api_intro'
prev_link: 'api_intro'
next_title: 'Configuración de Petición'
next_link: '/es/docs/req_config'
next_link: 'req_config'
---

### Creando una instancia
Expand Down
4 changes: 2 additions & 2 deletions posts/es/interceptors.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
title: 'Interceptores'
prev_title: 'Configuraciones por Defecto'
prev_link: '/es/docs/config_defaults'
prev_link: 'config_defaults'
next_title: 'Manejando Errores'
next_link: '/es/docs/handling_errors'
next_link: 'handling_errors'
---

Puedes interceptar peticiones o respuestas antes que sean manipulados por `then` o `catch`.
Expand Down
Loading