gpt4 book ai didi

javascript - 在服务器上运行长进程时在页面上显示动画

转载 作者:太空宇宙 更新时间:2023-11-04 08:55:19 28 4
gpt4 key购买 nike

当一个长进程(例如下面的 Python Flask 路由)正在运行并在完成后消失时,我想在我的页面上实现一个动画。我该怎么做?

@app.route('/test', methods=['GET','POST'])
def test():
if request.method=="POST":
if request.form.get('updatepaths')=='Update' and form.validate_on_submit():
Fname = form.name.data
Lname=form.name2.data
TimeConsumingFunction(Fname)
TimeConsumingFunction(Lname)

最佳答案

您需要使用 JavaScript 发出请求,显示微调器,然后在请求完成后移除微调器。例如,使用 jQuery,此示例在处理请求时显示“等待”(或您放置在那里的任何动画)。

<a href="{{ url_for('test') }}" id="run">Run</a>
<span id="wait">Waiting</span>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script>
var run_link = $('a#run');
var run_wait = $('span#wait');
run_wait.hide();

$('a#run').click(function(event) {
event.preventDefault();

run_link.hide()
run_wait.show();

$.post($(this).attr('href'), function(data) {
run_wait.hide()
run_link.show();
});
});
</script>

您还可以使用任务队列,例如 Celery在后台运行任务,而不是等待请求完成。这是有益的,因为任务可以继续运行比请求超时更长的时间。

关于javascript - 在服务器上运行长进程时在页面上显示动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30787325/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com