title: What is the Scala equivalent of F#'s async workflows?
body: <p>What is the Scala equivalent of F#'s async workflows?</p>
  
  <p>For example, how would following F# snippet translate to idiomatic Scala?</p>
  
  <pre><code>open System.Net
  open Microsoft.FSharp.Control.WebExtensions
  
  let urlList = [ "Microsoft.com", "http://www.microsoft.com/"
                  "MSDN", "http://msdn.microsoft.com/"
                  "Bing", "http://www.bing.com"
                ]
  
  let fetchAsync(name, url:string) =
      async { 
          try
              let uri = new System.Uri(url)
              let webClient = new WebClient()
              let! html = webClient.AsyncDownloadString(uri)
              printfn "Read %d characters for %s" html.Length name
          with
              | ex -&gt; printfn "%s" (ex.Message);
      }
  
  let runAll() =
      urlList
      |&gt; Seq.map fetchAsync
      |&gt; Async.Parallel 
      |&gt; Async.RunSynchronously
      |&gt; ignore
  
  runAll()
  </code></pre>