Есть приложение Flask. В части Python происходит обработка файла .wav по кускам. На каждый кусок создается txt файл с текстом. К этой функции идет роутинг @app.route("/", methods=['POST']) и ajax-запрос. Задача сделать с помощью jQuery динамическое обновление общего результата на странице html, т.е. надо, чтобы результаты по каждому из кусков, по мере появления, добавлялись в блок на странице. Пыталась это реализовать с помощью вот такого кода (см. ниже), используя параллельные ajax-запросы, но работа цикла, почему-то, происходит не так, как должна бы. И вообще есть зацикливание. И флаг не обновляется по завершению основного ajax-запроса.
Код:
var k;
function python_script_work(file){
var flag = true;
var downloadLink = blobUri +"/"+ container +"/"+ file;
var t1 = (new Date()).getTime();
$.ajax({
url: '/',
data: {"file": downloadLink},
type: 'POST',
success: function(response) {
result_text = response;
var t2 = (new Date()).getTime();
delta = t2-t1;
flag = false;
console.log("Флаг стал " + flag);
show_display_of_result(file, result_text, delta);
// return response;
},
error: function(error) {
console.log(error);
result_text = 'Увы, распознавание текста не удалось :(';
show_display_of_result(file, result_text);
// return 'Увы, распознавание текста не удалось :(';
}
});
console.log("Идем параллельно с ajax");
var file_path = "static/load_files/text/"+file.split('.')[0]+"_Result";
// console.log(file_path);
k = 1;
while (flag){
console.log(k);
console.log("Флаг = " + flag);
console.log("Проверяем маленький файл под номером " + k);
// tmp_flag = midtermResultExists(file_path + "_" + k + ".txt", k);
$.ajax({
url: file_path + "_" + k + ".txt",
success: function() {
console.log("Mini-File exists");
jQuery.get(file_path + "_" + k + ".txt", function(data) {
console.log(data);
});
k = k+1;
return true;
},
error: function() {
console.log("Mini-File doesn't exist");
return false;
}
});
console.log("Проверка файла " + file_path + "_" + k + ".txt");
};
return;
};
В результате получается вот такое зацикливание
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Подскажите как добавить в код id, я так понимаю дело в нём, потому что редактирование происходит только после перезагрузки страницыСпасибо)
Есть код >>тут<<, как добавить туда ссылку типо: <a href="dlmydomain