我正在创建一个包含其他操作的身份验证操作,使用 Play Zentasks 示例应用程序作为模板。这需要能够做的一件事是在某些情况下访问 Web 服务,以便检索用户的详细信息。我想以非阻塞方式执行此操作,但我不想将未来传递回我正在包装的操作。
我能想到的唯一方法是使用 Enumerator.fromStream() 和从 URL 对象中提取的 InputStream。我猜这不是最好的方法,因为它似乎是重复的工作(考虑到 ws 对象)。然而,async ws api(和底层的 asynchttpclient)为所有内容返回一个 Future。我认为以前没有人解决过这个问题并且可以为我指出另一个方向吗?有什么我想念的吗?另外,像我建议的那样使用 Enumerator.fromStream() 绝对不会阻塞吗?
提前致谢,
苏切