加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Play Framework 2 Scala WS执行同步请求

发布时间:2020-12-16 18:22:19 所属栏目:安全 来源:网络整理
导读:我正在学习 Scala.我以前使用Play Framework 2 Java并尝试使用和学习Scala重写我以前的一些工作. 我需要在我的代码中的某处执行同步WS请求并从中获取Result Object. 当我回到Java时,我常常这样做: WS.url("someurl").get().get(5000); 或者用T Promise T .g
我正在学习 Scala.我以前使用Play Framework 2 Java并尝试使用和学习Scala重写我以前的一些工作.

我需要在我的代码中的某处执行同步WS请求并从中获取Result Object.

当我回到Java时,我常常这样做:

WS.url("someurl").get().get(5000);

或者用T Promise< T> .get(长超时)来确切.

自从我切换到Scala后,我现在正在使用play.api.libs.ws并将代码重写为:

val somefuture:Future[Response] = WS.url("someurl").get();

但我无法同步获得Future [Response]的响应! scala上没有.get()方法.

如何从Future [Response]同步获取Response对象?

解决方法

使用Await.result.

import scala.concurrent.duration._
import scala.concurrent.Await

....

val future: Future[Response] = ...
Await.result(future,10 seconds): Response

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读