Я использую библиотеку dropzone для загрузки файлов, и как только файл загружен, я вызываю функцию, которая получает список файлов на сервере. Проблема в том, что когда я импортирую небольшие файлы, функция, извлекающая файлы, выполняется «одновременно», точнее: вызов этой функции уже запущен.
Я бы хотел установить флажок, чтобы ограничить доступ к этой функции, только когда она будет завершена.
//Listener on add file
dropzone.on("complete", function (file)
ajaxListFiles();
});
Спасибо !
ajaxListFiles
добавляет html в документ после запроса, но ничего не возвращает
Хорошо, но это ваш код, поэтому вы можете хотя бы установить какую-то глобальную переменную, чтобы знать, работает ли она, верно?
Вы можете просто установить флаг running
при запуске функции и сбросить его при ее завершении. Затем просто проверьте этот флаг перед повторным выполнением функции:
let running = false;
dropzone.on("complete", function (file)
if (!running) {
ajaxListFiles();
}
});
function ajaxListFiles() {
running = true; // at the very beginning of this function
// ... your code
running = false; // when it ends, so probably in some callback, not necessary at the end of this function
}
ajaxListFiles
возвращаетPromise
, или есть какой-то параметр обратного вызова, который запускается после его завершения?