根据 Twitter Util 的 Future 文档,Future .within()或.by( ) “如果在给定时间之前不满足,则返回一个失败的新 Future”。
如果 getDownload() 花费的时间少于 5 秒,我试图在 Java 中使用它来返回(未来)字符串,如果 getDownload() 花费的时间超过 5 秒,则返回/抛出异常。
Future<String> futureDownload = getDownload();
return futureDownload.within(DefaultTimer.twitter(), Duration.fromSeconds(5));
我无法让它工作。例如,如果 getDownload() 需要 15 秒,它会在 15 秒后返回。
我错过了什么?