ждать, пока придёт ответ js

183
20 апреля 2018, 15:16
function update() {
    fetch('/something.json').then(response => {
        response.json().then(source => {
            console.log(source);
        });
    });
}
const id_update = document.getElementById('update');
id_update.addEventListener('click', () => update());
<a href="#" id="update">
    update
</a>

при клике вызывается функция, которая возвращает json. если кликов будет много, то сервер будет нагружаться

есть какой-то стандартный метод, который позволит игнорировать клик, пока не придёт ответ

можно, конечно, сделать костыль, но это костыль.

Answer 1

создаете переменную, например

var isLoading = false

Переделываете свою функцию:

function update() {
    if (isLoading) {
        return;
    }
    isLoading = true
    fetch('/something.json').then(response => {
        response.json().then(source => {
            isLoading = false;
        });
    });
}
READ ALSO
операторы сравнения js

операторы сравнения js

есть переменная

178
Как взять value по классу

Как взять value по классу

Есть h1 с названием item`а

165
js callback после выполнения default функции

js callback после выполнения default функции

Я получаю callback(выше), но мне нужно получить еще один после завершения default действий для fileUploadResponse это возможно сделать?

160