未来的 Scala 怎么做?

How to do Future Scala?

我不明白为什么 Future 不起作用?有人能帮我吗?我从官方 scala 网站获得了这段代码。它没有编译错误 Future.type 没有接受参数

import scala.concurrent.Future
import java.lang.Thread.sleep

object Future extends App {

  def getStockPrice(stockSymbol: String): Future[Double] = Future {
    val r = scala.util.Random
    val randomSleepTime = r.nextInt(3000)
    val randomPrice = r.nextDouble * 1000
    sleep(randomSleepTime)
    randomPrice
  }

}

将对象名称从 Future 更改为其他名称。您还需要一个隐含的 ExecutionContext 可用。以下将起作用。

import scala.concurrent.Future
import java.lang.Thread.sleep
import scala.concurrent.ExecutionContext.Implicits.global

object FutureApp extends App {

  def getStockPrice(stockSymbol: String): Future[Double] = Future {
    val r = scala.util.Random
    val randomSleepTime = r.nextInt(3000)
    val randomPrice = r.nextDouble * 1000
    sleep(randomSleepTime)
    randomPrice
  }

}