【发布时间】:2021-11-27 09:30:06
【问题描述】:
我在 java 中有代码 sn-p 之类的
Int methodHitByAPI() {
List returnValue = doSomething();
return returnValue;
finishProcess(returnValue);
}
我的疑问是我想执行 doSomething() (这个方法被来自 UI 的 post api 调用命中)然后立即返回响应然后执行 finishProcess() 。 finishProcess() 是一个非常大的进程,前端不能等到它完成(HTTP 超时)。但是这里要注意一点,前端执行doSomething()就足够了,和finishProcess(returnValue);没有任何关系。那么我怎样才能快速将响应发送到 UI 而不会出现与 finishProcess(returnValue); 相关的任何问题?在后端执行finishProcess(returnValue) 是必须的,但在前端没有工作
我试过了
try {
returnValue = doSomething();
return returnValue;
}
finally {
finishProcess(returnValue);
}
但还是
return returnValue;
仅在finishProcess(returnValue);后执行
解决办法是什么?
注意:我们可能会将返回值发送到前端并调用另一个 API 调用来完成进程()。但事实并非如此
【问题讨论】:
标签: java try-catch try-catch-finally finally try-finally