Для улучшения данной универсальной функции для отправки запросов на сервер и получения ответов, можно добавить следующие функциональности:
1. Обработка ответов в формате JSON или текстовом формате:
```javascript
async function sendRequest(url, method = 'GET', body = null, responseType = 'json') {
const options = {
method: method,
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + ACCESS_TOKEN,
'Origin': '...',
'User-Agent': '...'
},
body: body ? JSON.stringify(body) : null
};
const response = await fetch(url, options);
if(responseType === 'json') {
return await response.json();
} else {
return await response.text();
}
}
```
2. Добавление обработки ошибки 401 (Unauthorized) из-за недействительного токена:
```javascript
async function sendRequest(url, method = 'GET', body = null, responseType = 'json') {
const options = {
method: method,
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + ACCESS_TOKEN,
'Origin': '...',
'User-Agent': '...'
},
body: body ? JSON.stringify(body) : null
};
const response = await fetch(url, options);
if(response.status === 401) {
// Handle error in case of 401 Unauthorized
throw new Error('Unauthorized: Token is expired or invalid');
}
if(responseType === 'json') {
return await response.json();
} else {
return await response.text();
}
}
```
Теперь функция sendRequest поддерживает отправку GET и POST запросов с возможностью обработки JSON и текстовых ответов, а также проверку ошибки 401 из-за недействительного токена.