java如何实现先返回一个结果再执行其他代码?

weixin_38049216 2017-11-27 09:20:09
要实现一个接口,前端访问该接口时,接口先返回一个状态比如1(前端收到这个状态后在页面提示文件正在生成),然后再执行下载代码???
...全文
5590 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38120906 2017-11-28
  • 打赏
  • 举报
回复
用spring框架的话,用@Async注解做异步方法即可。原生的话,写一个线程任务去实现
weixin_38108951 2017-11-28
  • 打赏
  • 举报
回复
new Thread(){}.start();
weixin_38108704 2017-11-28
  • 打赏
  • 举报
回复
return之前把要后续要执行的逻辑封装成一个task丢到BlockingQueue里面去
weixin_38076068 2017-11-28
  • 打赏
  • 举报
回复 1
从题主的描述来讲,这个场景应该类似异步下载的场景: 前端发起一个下载的请求 然后后端直接返回给前端,“嘿,我这里开始下载了,你去忙吧,过几分钟再来看下载完了没有” 后端则在后台吭哧吭哧的下载数据   这不就是一个典型的异步处理场景么....  
weixin_38104149 2017-11-28
  • 打赏
  • 举报
回复
表达能力
weixin_38068392 2017-11-28
  • 打赏
  • 举报
回复
你要表达的是“后端接口异步处理作业”。 这个需要用多线程(ThreadPool)来完成,当前接口请求进来之后,立即提交异步处理任务,然后返回提交的结果(成功和失败、查询异步任务业务唯一Key),客户端根据返回成功或失败进行提示,如果成功,则定时按Key查询异步任务的执行进度、直到完成,然后按Key拿异步处理的结果。
weixin_38096704 2017-11-28
  • 打赏
  • 举报
回复
前端异步哪家强
weixin_38122182 2017-11-28
  • 打赏
  • 举报
回复
前端访问 后端接口, 后端接口 开启一个线程,并返回状态1, 线程里面就是你要处理的内容,前端接口收状态1之后 打开一个轮询去看需要下载的文件生成好了没, 生成好了的话 就下载, 没生成好的话 就继续等待
weixin_38088281 2017-11-27
  • 打赏
  • 举报
回复
如果再服务端,的可以另外起线程, 如果是在前端,应该就是返回结果后就执行吧
weixin_38082537 2017-11-27
  • 打赏
  • 举报
回复
现在不就是这样的吗

433

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧