3 ms·
It uses normal Scala `Future`s. You get two `ExecutionContext`s: `queued` and `runNow`. You can't block on a `Future`. That covers just about all the ScalaJS sp
by lihaoyi 13y ago
It uses normal Scala `Future`s. You get two `ExecutionContext`s: `queued` and `runNow`. You can't block on a `Future`. That covers just about all the ScalaJS specific stuff, the rest is plain Scala.
Take a look at [Scala.Rx](https://github.com/lihaoyi/scala.rx https://github.com/lihaoyi/scala.rx) or [uTest](https://github.com/lihaoyi/utest https://github.com/lihaoyi/utest) if you want to see code examples of how `Future`s are used in ScalaJS, but I think you'll be disappointed: it's exactly the same code that gets run on Scala-JVM!
- brandonbloom 13y agoYou said: > You can't block on a `Future` Which answers my question. Thank you. But then you also said: > it's exactly the same code that gets run on Scala-JVM That can't be exactly true, since "Awaitable" [1] doesn't appear anywhere in the scala-js codebase. So I guess as long as you don't mention that trait by name, or attempt to block on a future, then your effectively duck-typed Scala-JVM code will be able to run unmodified on Scala-JS. [1]: http://www.scala-lang.org/files/archive/nightly/docs/library/index.html#scala.concurrent.Awaitable http://www.scala-lang.org/files/archive/nightly/docs/library...