【问题标题】:Scala PlayFramework don't wait for response just store in databaseScala PlayFramework 不等待响应只是存储在数据库中
【发布时间】:2016-08-05 19:06:16
【问题描述】:

在每个服务下面的代码中,实现返回布尔值的检查特征。我是 scala 的新手,所以想知道有没有办法在这里添加一些服务,立即返回布尔值(对此服务的响应不会被使用,因此它每次都可以返回 true)并在后台为填充数据库工作,while 循环完成并将结果返回给请求者。

requestedChecks.keys.par.foreach(serviceName => {
    if(requestedChecks(serviceName) == 1 && checkList.contains(serviceName)) {
        data += (serviceName -> initializeService(serviceName).check(mapForService))
    }
})

【问题讨论】:

    标签: scala playframework-2.0


    【解决方案1】:

    你可以这样做,这是@mrfyda 的提议,这也是我的想法:

    import play.api.libs.concurrent.Execution.Implicits._
    import scala.concurrent.Future
    
    Future {
        requestedChecks.keys.par.foreach(serviceName => {
            if(requestedChecks(serviceName) == 1 && checkList.contains(serviceName)) {
                data += (serviceName -> initializeService(serviceName).check(mapForService))
            }
        })
    }
    
    Ok(view.html.index()) // or whatever you response looks like
    

    【讨论】:

    • 谢谢。这是完美的工作。 sascha10000 & @mrfyda
    猜你喜欢
    • 2018-02-23
    • 2015-12-05
    • 2015-03-21
    • 1970-01-01
    • 1970-01-01
    • 2019-06-04
    • 1970-01-01
    • 1970-01-01
    • 2018-12-21
    相关资源
    最近更新 更多