问题描述:
前端调用后端的一个服务A,
该服务A中包含了子服务B,C;B,C有自己独立的事务机制,互不影响。
执行后,最终return前端一个经过B+C处理的结果。
有个需求是,当我执行完服务B时,有没有什么方法可以让前端接收到类似“B已经执行结束,C服务正在执行”的信息,但不影响最终返回结果。(一次调用还是只是返回一个B+C处理后的结果)
或者说在SpringMVC的框架内,前端有知晓自己调用的服务执行进度的方法吗?
请前辈高手不吝赐教,给与解惑~
问题描述:
前端调用后端的一个服务A,
该服务A中包含了子服务B,C;B,C有自己独立的事务机制,互不影响。
执行后,最终return前端一个经过B+C处理的结果。
有个需求是,当我执行完服务B时,有没有什么方法可以让前端接收到类似“B已经执行结束,C服务正在执行”的信息,但不影响最终返回结果。(一次调用还是只是返回一个B+C处理后的结果)
或者说在SpringMVC的框架内,前端有知晓自己调用的服务执行进度的方法吗?
请前辈高手不吝赐教,给与解惑~
8 回答6.4k 阅读
1 回答4.2k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
2 回答3.2k 阅读
2 回答3.9k 阅读
3 回答1.7k 阅读✓ 已解决
1 回答2k 阅读✓ 已解决
一种在工作中实践过的可行解决方案:
status
),status
表明执行到的阶段,比如B事务完成后,将此字段置为B,C事务完成后,将此字段置为Cstatus
,前端就能知道目前执行到哪个阶段了如果觉得这种方案不太优雅,可以考虑websocket