2013-04-30 64 views
0

我使用Play Zentasks示例应用程序作为模板创建包装其他操作的认证操作。这需要能够做到的事情之一是在某些情况下击中web服务,以检索用户的详细信息。我想以非阻塞的方式做到这一点,但我不想将未来传回给我正在包装的行动。在播放中的合成动作中流式传输http响应! Framework 2.1

我能想到这样做的唯一方法是使用Enumerator.fromStream()和从URL对象中拉取的InputStream。我猜这不是最好的方式,因为它似乎是一个重复的努力(考虑ws对象)。 async ws api(和底层的asynchttpclient)会返回所有内容的Future。我认为以前没有人解决过这个问题,可能会指向另一个方向?有什么我失踪了吗?另外,将使用Enumerator.fromStream(),因为我建议绝对不会阻止?

由于提前,

Suche

回答

0

可以使用异步API WS。当它返回未来时,你可以调用map,并将值传递给你正在包装的动作。现在你有一个未来,包含你的包装行动的结果。把它变成一个AsyncResult,或者把整个东西包装在一个Async {}块中,它应该可以工作。

相关问题