我在写一个小服务器。一篇博文特别推荐了这种提问模式。CapserOk
课程具有以下特点:
案例类CasperOk(公司:选项[company.company],existOrNot:Boolean)
我正在检索这个数据库行,如果它不存在或发生了一些错误,我想从Spray发送一个响应来告诉客户端。
然而,使用这种模式,我不知道在哪里注入开关。
我试着把代码改成这样:
val response = (secCompanyActor ? jObjectFromCasper(company))
.mapTo[CasperOk]
.map(result => result.succeedOrNot match {
case true => (OK, "transaction successful")
case false => (Conflict, "FileLoc format is wrong or it already exists")
})
.recover{case _ => (InternalServerError, "error occured! We will fix this")}
complete(response)
Spray使用complete()
发送HTTP响应complete()
可以接受两个对象,也可以接受一个字符串/可序列化对象。我想使用双对象模式(它允许我手动编码它的标题),理想的情况应该是complete(response.\u 1,response.\u 2)
有没有办法让阿克卡的未来实现这一点?
您可以通过在未来的onComplete方法中注册一个对complete函数的调用来实现这一点。
response.onComplete {
case (statusCode, message) => complete(statusCode, message)
}
我很好奇递归构建Akka期货链的最佳方式,它将按顺序运行,如果未来的< code>doWork调用失败,未来将重试3次,如果重试次数用完,链将失败。假设所有< code>doWork调用都通过,则返回的futChain应该只完成。 < li >如何将结果作为集合获取?即,在本例中,从< code>doWork函数返回的每个< code>String(我需要以某种方式修改< code>recurse
JavaScript未来的模块化会是什么样子?这很难讲。如前所说,ES6已经开始起草这一块的标准,而AMD,CommonJS已经流行起来。通常,标准的制定,都是在有了实现的前提之下。不管怎样,我们先来展望一二吧。
在单独的线程上执行任务(使用线程池)并提供回调函数。假设我在中有一个API调用。那是API调用阻塞吗?线程会被阻塞,直到它没有得到API的响应吗?(我知道主线程/tomcat线程将是非阻塞的,但是CompletableFuture任务正在执行的线程呢?) 据我所知,单声道是完全无阻塞的。 请阐明这一点,如果我错了,请纠正我。
问题内容: 信封:Akka 2.1,scala版本2.10.M6,JDK 1.7,u5 现在是我的问题:我有: 现在在第一行中,我有一个Future对象的Future,有什么方法可以在不阻塞当前线程的情况下将其转换为Future? Akka有什么方法吗?据我检查,我还没有发现…第一次发帖....不好意思的格式和组织…:〜P 问题答案: 简短答案(英语):flatMap dat sh!t 较短的答案
好吧,我想问题已经在标题中完成了。没什么大不了的,但我只是想知道。我有一个返回正确值或错误代码枚举项的方法。例如这样的东西: 其中返回一个Future,而只是修改数据。 现在我已经直观地编写了< code>Future[_],因为返回值是灵活的。但是在查看其他库时,我看到了< code>Future[Any]的用法。当你在函数的返回中使用匹配用例来检查它是什么数据时,这似乎也是合乎逻辑的。 例如,
Scala使用什么模式来处理这种情况: 你有很多未来(它们可以是任何东西,但为了举例…) 你有一个返回未来的函数 我想做这样的事情: 我想返回一个值,但是我在rent语句中调用foF,我会得到一个