Как вызвать функцию внутри обработчика submit?
Подскажите пожалуйста, есть задание, вызвать функцию renderLoading дважды: перед вызовом search; внутри обработчика finally в самом конце цепочки then/catch.
Функцию renderLoading с аргументом true нужно вызвать внутри обработчика submit Не могу понять как это правильно сделать
const form = document.forms.search;
const content = document.querySelector('.content');
const result = document.querySelector('.content__result');
const error = document.querySelector('.content__error');
const spinner = document.querySelector('.spinner');
renderLoading(true); //Одну я вызвал вот здесь
search(form.elements.entity.value, form.elements.entityId.value)
.then((res) => {
if (res.ok) {
return res.json();
}
return Promise.reject(res.status);
})
.then((res) => {
renderResult(res.name)
})
.catch((err) => {
renderError(`Ошибка: ${err}`)
})
.finally(() => {
//а вторую нужно вот здесь
});
function renderResult(text) {
result.textContent = text;
error.textContent = '';
}
function renderError(err) {
result.textContent = '';
error.textContent = err;
}
function renderLoading(isLoading) {
if (isLoading) {
spinner.classList.add('spinner_visible');
content.classList.add('content_hidden')
} else {
content.classList.remove('content_hidden');
spinner.classList.remove('spinner_visible')
}
}
function search(entity, entityId) {
return fetch(`https://swapi.nomoreparties.co/${entity}/${entityId}/`);
}