Skip to content

[Added] instance call with config #254

New issue

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

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

Already on GitHub? # to your account

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 28 additions & 1 deletion posts/ar/instance.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,31 @@ The available instance methods are listed below. The specified config will be me
##### axios#post(url[, data[, config]])
##### axios#put(url[, data[, config]])
##### axios#patch(url[, data[, config]])
##### axios#getUri([config])
##### axios#getUri([config])

### Calling the instance with a config object

In addition to using convenience methods like `instance.get()` or `instance.post()`, you can also call an Axios instance directly with a config object. This is functionally equivalent to `axios(config)`, and is particularly useful when retrying a request using the original configuration.

```js
const instance = axios.create({ baseURL: '/api' });

// Works just like axios(config)
instance({
url: '/users',
method: 'get'
});
```

This approach enables clean retry logic when handling authentication errors:

```js
instance.interceptors.response.use(undefined, async (error) => {
if (error.response?.status === 401) {
await refreshToken();
return instance(error.config); // Retry original request
}

throw error;
});
```
27 changes: 27 additions & 0 deletions posts/de/instance.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,3 +33,30 @@ Die verfügbaren Instanzmethoden sind im folgenden aufgelistet. Die beim Aufruf
##### axios#put(url[, data[, config]])
##### axios#patch(url[, data[, config]])
##### axios#getUri([config])

### Instanz direkt mit einem Konfigurationsobjekt aufrufen

Neben den Komfortmethoden wie `instance.get()` oder `instance.post()` können Sie eine Axios-Instanz auch direkt mit einem Konfigurationsobjekt aufrufen. Dies funktioniert genauso wie `axios(config)` und ist besonders nützlich, wenn Sie eine Anfrage mit der ursprünglichen Konfiguration erneut senden möchten.

```js
const instance = axios.create({ baseURL: '/api' });

// Funktioniert wie axios(config)
instance({
url: '/users',
method: 'get'
});
```

Dieses Vorgehen ermöglicht eine saubere Retry-Logik, z.B. beim Umgang mit Authentifizierungsfehlern:

```js
instance.interceptors.response.use(undefined, async (error) => {
if (error.response?.status === 401) {
await refreshToken();
return instance(error.config); // Ursprüngliche Anfrage erneut senden
}

throw error;
});
```
29 changes: 28 additions & 1 deletion posts/en/instance.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,31 @@ The available instance methods are listed below. The specified config will be me
##### axios#post(url[, data[, config]])
##### axios#put(url[, data[, config]])
##### axios#patch(url[, data[, config]])
##### axios#getUri([config])
##### axios#getUri([config])

### Calling the instance with a config object

In addition to using convenience methods like `instance.get()` or `instance.post()`, you can also call an Axios instance directly with a config object. This is functionally equivalent to `axios(config)`, and is particularly useful when retrying a request using the original configuration.

```js
const instance = axios.create({ baseURL: '/api' });

// Works just like axios(config)
instance({
url: '/users',
method: 'get'
});
```

This approach enables clean retry logic when handling authentication errors:

```js
instance.interceptors.response.use(undefined, async (error) => {
if (error.response?.status === 401) {
await refreshToken();
return instance(error.config); // Retry original request
}

throw error;
});
```
29 changes: 28 additions & 1 deletion posts/es/instance.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,31 @@ Los métodos disponibles de la instancia están listados a continuación. La con
##### axios#post(url[, data[, config]])
##### axios#put(url[, data[, config]])
##### axios#patch(url[, data[, config]])
##### axios#getUri([config])
##### axios#getUri([config])

### Llamar a la instancia directamente con un objeto de configuración

Además de los métodos como `instance.get()` o `instance.post()`, también puedes llamar a una instancia de Axios directamente pasando un objeto de configuración. Esto funciona igual que `axios(config)` y es útil, por ejemplo, para reenviar una solicitud con la configuración original.

```js
const instance = axios.create({ baseURL: '/api' });

// Funciona igual que axios(config)
instance({
url: '/users',
method: 'get'
});
```

Este enfoque permite implementar una lógica de reintento limpia, por ejemplo, al manejar errores de autenticación:

```js
instance.interceptors.response.use(undefined, async (error) => {
if (error.response?.status === 401) {
await refreshToken();
return instance(error.config); // Reenviar la solicitud original
}

throw error;
});
```
29 changes: 28 additions & 1 deletion posts/fa/instance.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,31 @@ const instance = axios.create({
##### axios#post(url[, data[, config]])
##### axios#put(url[, data[, config]])
##### axios#patch(url[, data[, config]])
##### axios#getUri([config])
##### axios#getUri([config])

### فراخوانی مستقیم نمونه با شیء پیکربندی

علاوه بر متدهای کمکی مانند `instance.get()` یا `instance.post()`، می‌توانید یک نمونه Axios را مستقیماً با یک شیء پیکربندی فراخوانی کنید. این کار دقیقاً مانند `axios(config)` عمل می‌کند و زمانی مفید است که بخواهید یک درخواست را با پیکربندی اولیه دوباره ارسال کنید.

```js
const instance = axios.create({ baseURL: '/api' });

// مشابه axios(config) عمل می‌کند
instance({
url: '/users',
method: 'get'
});
```

این روش امکان پیاده‌سازی منطق retry تمیز را فراهم می‌کند؛ مثلاً هنگام مدیریت خطاهای احراز هویت:

```js
instance.interceptors.response.use(undefined, async (error) => {
if (error.response?.status === 401) {
await refreshToken();
return instance(error.config); // ارسال مجدد درخواست اصلی
}

throw error;
});
```
29 changes: 28 additions & 1 deletion posts/fr/instance.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,31 @@ Les méthodes utilisables sur l’instance sont listées ci-dessous. La configur
##### axios#post(url[, data[, config]])
##### axios#put(url[, data[, config]])
##### axios#patch(url[, data[, config]])
##### axios#getUri([config])
##### axios#getUri([config])

### Appeler directement l’instance avec un objet de configuration

En plus des méthodes pratiques comme `instance.get()` ou `instance.post()`, vous pouvez aussi appeler une instance Axios directement avec un objet de configuration. Cela fonctionne comme `axios(config)` et est particulièrement utile pour renvoyer une requête avec la configuration d’origine.

```js
const instance = axios.create({ baseURL: '/api' });

// Fonctionne comme axios(config)
instance({
url: '/users',
method: 'get'
});
```

Cette approche permet une logique de retry propre, par exemple lors de la gestion des erreurs d’authentification :

```js
instance.interceptors.response.use(undefined, async (error) => {
if (error.response?.status === 401) {
await refreshToken();
return instance(error.config); // Renvoyer la requête d’origine
}

throw error;
});
```
27 changes: 27 additions & 0 deletions posts/ja/instance.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,3 +33,30 @@ const instance = axios.create({
##### axios#put(url[, data[, config]])
##### axios#patch(url[, data[, config]])
##### axios#getUri([config])

### インスタンスを設定オブジェクトで直接呼び出す

`instance.get()` や `instance.post()` などの便利メソッドに加えて、Axios インスタンスは設定オブジェクトを直接渡して呼び出すこともできます。これは `axios(config)` と同様に動作し、元の設定でリクエストを再送したい場合などに便利です。

```js
const instance = axios.create({ baseURL: '/api' });

// axios(config) と同じように使えます
instance({
url: '/users',
method: 'get'
});
```

この方法は、認証エラー時のリトライ処理などにも役立ちます。

```js
instance.interceptors.response.use(undefined, async (error) => {
if (error.response?.status === 401) {
await refreshToken();
return instance(error.config); // 元のリクエストを再送
}

throw error;
});
```
29 changes: 28 additions & 1 deletion posts/kr/instance.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,31 @@ const instance = axios.create({
##### axios#post(url[, data[, config]])
##### axios#put(url[, data[, config]])
##### axios#patch(url[, data[, config]])
##### axios#getUri([config])
##### axios#getUri([config])

### 인스턴스를 직접 config 객체로 호출하기

`instance.get()`이나 `instance.post()` 같은 편의 메서드 외에도, Axios 인스턴스를 config 객체로 직접 호출할 수 있습니다. 이는 `axios(config)`와 동일하게 동작하며, 기존 설정으로 요청을 다시 보내야 할 때 유용합니다.

```js
const instance = axios.create({ baseURL: '/api' });

// axios(config)와 동일하게 동작
instance({
url: '/users',
method: 'get'
});
```

이 방식은 인증 오류 등에서 재시도 로직을 깔끔하게 구현할 수 있습니다:

```js
instance.interceptors.response.use(undefined, async (error) => {
if (error.response?.status === 401) {
await refreshToken();
return instance(error.config); // 원래 요청을 다시 보냄
}

throw error;
});
```
29 changes: 28 additions & 1 deletion posts/ku/instance.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,31 @@ const instance = axios.create({
##### axios#post(url[, data[, config]])
##### axios#put(url[, data[, config]])
##### axios#patch(url[, data[, config]])
##### axios#getUri([config])
##### axios#getUri([config])

### بەکاربردنی نموونە بە ڕاستەوخۆییەوە بە ڕێکخستنی کۆنفێگ

لەگەڵ میثۆدەکانی ئاسانەوە وەک `instance.get()` یان `instance.post()`، دەتوانیت نموونەی ئەکسیۆس بە ڕاستەوخۆییەوە بە بەکارهێنانی ئوبجێکتی ڕێکخستن بانگ بکەیت. ئەمە وەک `axios(config)` کاردەکات و بە تایبەتی کاتێک بەدوای هەمان ڕێکخستن داواکارییەک دەخەیتەوە بەسوودە.

```js
const instance = axios.create({ baseURL: '/api' });

// وەک axios(config) کاردەکات
instance({
url: '/users',
method: 'get'
});
```

ئەم ڕێگایە ڕێکخستنێکی پاک بۆ دووبارەکردنەوەی داواکاری دابین دەکات، بۆ نموونە لە کاتی چارەسەرکردنی هەڵەی ڕوونکردنەوە:

```js
instance.interceptors.response.use(undefined, async (error) => {
if (error.response?.status === 401) {
await refreshToken();
return instance(error.config); // داواکارییەکە دووبارە بنێرە
}

throw error;
});
```
29 changes: 28 additions & 1 deletion posts/ptBR/instance.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,31 @@ Os métodos de instâncias disponiveis estão listadas abaixo. A configuração
##### axios#post(url[, data[, config]])
##### axios#put(url[, data[, config]])
##### axios#patch(url[, data[, config]])
##### axios#getUri([config])
##### axios#getUri([config])

### Chamando a instância diretamente com um objeto de configuração

Além dos métodos convenientes como `instance.get()` ou `instance.post()`, você também pode chamar uma instância do Axios diretamente passando um objeto de configuração. Isso funciona da mesma forma que `axios(config)` e é útil, por exemplo, para reenviar uma requisição com a configuração original.

```js
const instance = axios.create({ baseURL: '/api' });

// Funciona como axios(config)
instance({
url: '/users',
method: 'get'
});
```

Esse padrão permite implementar uma lógica de repetição (retry) de forma limpa, como ao lidar com erros de autenticação:

```js
instance.interceptors.response.use(undefined, async (error) => {
if (error.response?.status === 401) {
await refreshToken();
return instance(error.config); // Reenvia a requisição original
}

throw error;
});
```
29 changes: 28 additions & 1 deletion posts/ru/instance.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,31 @@ const instance = axios.create({
##### axios#post(url[, data[, config]])
##### axios#put(url[, data[, config]])
##### axios#patch(url[, data[, config]])
##### axios#getUri([config])
##### axios#getUri([config])

### Вызов экземпляра напрямую с объектом конфигурации

Помимо удобных методов, таких как `instance.get()` или `instance.post()`, вы можете вызывать экземпляр Axios напрямую, передавая объект конфигурации. Это работает так же, как и `axios(config)`, и особенно полезно, если нужно повторно отправить запрос с исходной конфигурацией.

```js
const instance = axios.create({ baseURL: '/api' });

// Работает как axios(config)
instance({
url: '/users',
method: 'get'
});
```

Такой подход позволяет реализовать чистую логику повторных попыток, например, при обработке ошибок аутентификации:

```js
instance.interceptors.response.use(undefined, async (error) => {
if (error.response?.status === 401) {
await refreshToken();
return instance(error.config); // Повторить исходный запрос
}

throw error;
});
```
Loading