最新的Scala异步http客户端?

时间:2016-08-23 05:52:20

标签: scala asynchronous

我认为function addCheckboxVAlues(checked){ var split = checked.value.split("|"); var key =split[0]; var value=split[1]; var chks = $("input[name='"+key+"']:checked"); var index = uninvoiced.indexOf(key); if (chks.length > 0) { uninvoiced.push(value); } else if(index > -1){ uninvoiced.splice(index, 1); } console.log(uninvoiced); } 是几年前首选的{{1}}。但似乎这个项目已经闲置了一段时间,并留下了一些突出的bug。我想知道Scala社区是否已经转移到其他一些异步http客户端工具。

Akka还发布了 akka-http-core 。但是只为异步启动 Actor 系统。在我看来,客户太多了。 (也许不是?)

2 个答案:

答案 0 :(得分:1)

您是对的dispath未得到维护。您应该选择:

选择并不容易,但通常应该避免繁殖库。如果你已经在classpath中拥有它们,那就使用它。

答案 1 :(得分:1)

以下库仍预先捆绑客户端:

finagle-http:Finagle是JVM的可扩展RPC系统,用于构建高并发服务器。 Finagle为多个协议实现统一的客户端和服务器API,旨在实现高性能和并发性。 Finagle的大多数代码都是协议无关的,简化了新协议的实现。这是一个sample HTTP client

reboot:Dispatch reboot是Scala中用于HTTP交互的Dispatch库的重写,使用async-http-client作为其底层传输。

实施

在实践中,我强烈建议您查看类路径中已有的内容。说实话,所有这些依赖关系都非常庞大,他们可能会在Java中使用非常不同的底层异步HTTP库来实现,这很可能会导致您带来巨大的依赖关系以获得很少的好处。

Twitter是生态系统中一个相当孤立的角落,他们的图书馆非常出色,但>将使用Twitter Futures以及一组完全不同的并发原语等等。

我能给你的最佳建议是,如果你已经在你的项目中使用过Akka,只需去 akka-http-core ,如果你使用play go for play-ws等等。