promise - 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)
解决方案
推荐阅读
- selenium - Selenium Grid 没有为没有 testNG 的同一浏览器并行运行多个测试
- anaconda - 包 Pandoc 是否已包含在 Anaconda3 中?
- python - 如何在 Python 中使用 urllib3 查看 HTTP 标头、响应代码和 html 内容?
- laravel - 使用laravel和vue js提交表单时出现422(无法处理的实体)错误
- javascript - 添加逗号并在句号后停止添加
- amazon-s3 - 你能从 EC3 上的 Hadoop 访问 EMRFS
- python - 我应该如何计算有多少用户对特定的 movieId 进行了评分?
- javascript - Vue.js:对子元素使用 CSS 类
- javascript - Fabric JS仅选择组内的少数对象
- git - 我怎样才能看到提交在不同的分支中一起推送?