首页 > 解决方案 > Scala.js 编译错误对象 Promise 不带类型参数

问题描述

尝试使用 Scala.js 文档中的代码从运行的回调示例中获得未来:

def onLoadFuture(img: HTMLImageElement) = {
  if (img.complete) {
    Future.successful(img.src)
  } else {
    val p = Promise[String]()
// [error]          ^
    img.onload = { (e: Event) =>
      p.success(img.src)
    }
    p.future
  }
}

得到编译错误:对象 Promise 不带类型参数

插件.sbt:

 addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.23")

构建.sbt:

lazy val client = (project in file("client")).settings(commonSettings).settings(
  addCompilerPlugin("org.scalamacros" % "paradise" % "2.1.0" cross CrossVersion.full),
  scalaJSUseMainModuleInitializer := false,
  libraryDependencies ++= Seq(
    "com.thoughtworks.binding" %%% "dom" % "latest.release",
    "org.scala-js" %%% "scalajs-dom" % "0.9.3",
    "com.lihaoyi" %%% "scalatags" % "0.6.7"
  )
).enablePlugins(ScalaJSPlugin).enablePlugins(JSDependenciesPlugin).
  dependsOn(sharedJs)

标签: promisescala.js

解决方案


推荐阅读