溶液: 我尝试使用ajax调用在单独的线程中运行该过程。当过程完成时,设置全局标志以指示生成数据。如果响应为500,则在10000毫秒后由超时功能调用第二个ajax调用。第二个调用检查全局标志,如果为true则从表中读取并发送响应。如果没有再次在客户端设置超时。这个解决方案还不够成熟。 ,因为该程序可能需要很长时间才能作出回应。
请让我知道这个问题的一个很好的解决方案?
答案 0 :(得分:1)
这是经典的“报价比较网站”模式。
您需要更具体地提出要求,例如......
首先 - 您使用AJAX发送长时间运行进程的初始请求,然后返回“RequestId”。
第二 - 您使用您的请求ID调用“检查状态”服务并获得状态。如果你得到“工作”,你会暂停一下并重新检查。如果你得到“完整”,你就进入第三阶段。
第三 - 您使用您的请求ID调用“获取结果”服务,并立即获得预先准备好的结果。
您需要在第二步中添加一些尝试 - 所以如果您等待10分钟,则放弃并向用户道歉。