Grails 如果承诺书过期了,有没有办法得到它的结果

Grails 如果承诺书过期了,有没有办法得到它的结果,grails,groovy,concurrency,future,Grails,Groovy,Concurrency,Future,我在Grails中有一个承诺列表,其中有一个承诺列表。如果我请求带有超时值的值,如果超时停止了承诺列表,我还会得到非超时未来的结果吗 不幸的是,简短的回答是“不,当您的承诺列表中的一些承诺成功,而一个或多个承诺失败时,无法获得部分结果。”这是因为承诺列表作为一个整体被视为成功或失败。任何异常(包括超时)都将导致调用onError,而不是onComplete 唯一的选择,如果您需要不依赖于其他承诺的单个结果,请使用单个承诺而不是列表。简短的回答是“否”。您将不会得到任何结果,因为超时将导致抛出异常

我在Grails中有一个承诺列表,其中有一个承诺列表。如果我请求带有超时值的值,如果超时停止了承诺列表,我还会得到非超时未来的结果吗

不幸的是,简短的回答是“不,当您的承诺列表中的一些承诺成功,而一个或多个承诺失败时,无法获得部分结果。”这是因为承诺列表作为一个整体被视为成功或失败。任何异常(包括超时)都将导致调用
onError
,而不是
onComplete


唯一的选择,如果您需要不依赖于其他承诺的单个结果,请使用单个承诺而不是列表。

简短的回答是“否”。您将不会得到任何结果,因为超时将导致抛出异常,因此onComplete将不会被调用承诺列表。您知道有其他选项吗?如果是,请将此作为答复提交。有没有办法让我获得整个团队的最长等待时间?似乎是一个承诺列表,我都说。get(30分钟)5次会得到5*30分钟的上限。不,每个人最多有30分钟,事实上你需要最关心的是最小值。例如,当超过20时,30、30、20将导致异常。我假设您使用的是异步承诺,而不是同步承诺(例如onComplete/onError vs waitAll),对吗?应该使用异步承诺是的。