解释是未来在玩控制器

时间:2019-03-26 16:11:04

标签: scala playframework

我需要解释一下我的游戏控制器的未来情况。

我的服务层中有一些代码正在调用Java库API。当我第一次在控制器中这样调用Java API时:

<?php

$params = http_build_query(array(
    "access_key" => "YOUR_ACCESS_KEY"
    "url" => "https://example.com",
));

$image_data = file_get_contents("https://api.apiflash.com/v1/urltoimage?" . $params);
file_put_contents("screenshot_api_example.jpeg", $image_data);

?>

对于此控制器,我没有看到任何操作。我希望由于调用someJavaAPI而采取行动。然后有人告诉我,某些JavaAPI快要死了,因为控制器完成得太早了。是吗?

因此,我将代码更改为这样:我在Future中包装了一些JavaAPI()方法

def someController() = Action {
  someJavaAPI()
  Ok("done")
}

现在我在我的contolerler中这样称呼它:

def someJavaAPI() = Future {....code....}

这很好。

我的问题是:将来包装一些JavaAPI会使控制器线程等到完成后再执行映射功能吗?

另外,什么是Promise?我可以在这里使用Promise吗?我不确定。

0 个答案:

没有答案