如何在flaskpython中通知用户计算进度

2024-06-07 00:47:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在烧瓶上提供一些计算结果。在

对于复杂的系统,它可能需要时间,我想显示一个进度条或其他东西,通知用户系统实际上正在做一些事情,它没有冻结。在

我不能很好地估计要花多长时间。在

从概念上讲,在运行计算时,如何在flask中实现对用户的通知?它是否与流式数据类似?在

我知道这听起来很普通,我要求的东西我应该看作为解决这个问题的建议,或者一个伪代码的脚手架,展示一个来自前端的getajax如何处理flask响应,它应该通知正在运行但尚未完成的计算的进度。在


Tags: 数据代码进度条用户概念flask烧瓶系统
1条回答
网友
1楼 · 发布于 2024-06-07 00:47:51

我认为你所描述的更多的是一个结构问题,与烧瓶无关。后端(在本例中是Flask)提供了一个api,在客户端,您需要正确地处理结果显示,包括等待时间。在

假设您使用Flask实现并公开了一个API,您可以使用javascript通过以下方式处理来自前端的调用:

running example

# HTML
<div class="status" onclick="refresh()">click me</div>

# JAVASCRIPT
function refresh() {
  var status = document.querySelector('.status');
  status.textContent = "calling api";
  callAPI();

  function callAPI() {
    return new Promise(function (resolve, reject) {
      // Flask API call here ...
      setTimeout(function(){ resolve()}, 2000);
    });
  }

  callAPI().then(function(result) {
    status.textContent =  "show results";
  });
}

相关问题 更多 >