for-comprehension

    3热度

    1回答

    我有一个Scala未来,如果结果不正确,则调用api并返回未来,然后另一个api调用将与第一个未来结果一起提交,并作为未来返回。 这是我到目前为止。 val fut1 = Future(queryFirst) val fut2 = fut1 map { case y if y.isInstanceOf[NoResult] => Future(queryAgainWithFut1Resu

    2热度

    2回答

    我有一个Future[Future[(String,String)]],我想用理解将它转换为Future[(String,String)]。

    1热度

    2回答

    我试图找出顺序执行一系列期货的最好方法,其中一个未来的执行取决于前一个。我试图为任意数量的期货做这件事。 用户案例: 我从数据库中检索了一些IDS的。 我现在需要检索Web服务上的一些相关数据。 我想要停止,一旦我找到了有效的结果。 我只关心成功的结果。 并行执行这些操作,然后解析返回的结果集合不是一个选项。我必须一次执行一个请求,并且只有在前一个请求没有返回结果时才执行下一个请求。 目前的解决方

    0热度

    2回答

    我可以将最内部for正文的结果收集到List[Output]并返回它们。但我想用yield。如何这种方法被转换成使用for-yield图案: def useForComprehension(input : Input): List[Output] = { for (o <- splitInputIntoPieces(input)) { for (restResults <-

    2热度

    1回答

    我想理解如何理解工作,因为它正在做一些不同于我期望它做的事情。我读了几个答案,其中最相关的是这一个Scala "<-" for comprehension但是,我仍然感到困惑。 以下代码按预期工作。它打印在由两个不同的正则表达式匹配的值不相等线(一个用于在会话cookie和用于在GET ARGS值的值的另一,只给上下文): file.getLines().foreach { line =>

    7热度

    2回答

    当我不关心返回值时,我应该如何编写代码。 例子: for { a <- getA // I do not care about a, but I need to wait for the future to finish b <- getB } yield (b)

    10热度

    2回答

    我对scala中的理解效率有疑问。 这下面的代码需要大约45秒时的烫发是大约550元素 perm = some list for{ perm <- perms.withFilter(_.size > 0) wordList = somefunction(perm) //expensive operation, wordlist is a list of strings

    4热度

    1回答

    在PlayFramework 2.4中,我尝试将所有控制器方法转换为JavaScript路由。 val jsRoutesClass = classOf[routes.javascript] val controllers = jsRoutesClass.getFields.map(_.get(null)) for ( controller <- controllers; m

    2热度

    1回答

    我坚持弄清楚为什么这不起作用: import scala.concurrent.future import scala.concurrent.Future import scala.concurrent.ExecutionContext import scala.concurrent.ExecutionContext.Implicits.global object FutureTest

    3热度

    1回答

    我使用ReactiveMongo用MongoDB的一个游戏框架应用程序,我有以下代码: def categories(id: String): Future[Vector[Category]] = {...} .... val categoriesFuture = categories(id) for { categories: Vector[Category] <- catego