async / await. Js не попадает в одну строчку
Пишу на чистом JS.
Проблема:
Есть кнопка по нажатию - изменяет департамент в БД.
Попадаю в сервисы, а потом в метод editRequest(), он отрабатывает без проблем.
Но после, мне нужно сделать redirect.
editDepartment = async departmentDto => {
await basicService.editRequest('/api/rest/departments', departmentDto);// всё ок
window.location.replace('/api/departments');//пропускает
}
editRequest = async (url, body) => {
return await this.sendData(url, body, 'PATCH');
}
sendData = async (url, body = null, method = 'POST') => {
const headers = {'Content-Type': 'application/json;charset=UTF-8'}
const init = {
method: method,
body: JSON.stringify(body),
headers: headers
}
let response = await fetch(url, init)
.then(response => {
if (response.status < 400) {
return response.json();
}
});
return response;
}
Если при отладке поставить бряку на строке с ".then(response => {", метода "sendData", то всё отработает как часы.
Сижу с этой проблемой уже 2 сутки. Не пойму, где допускаю ошибку.