Skip to content

Instantly share code, notes, and snippets.

@chribben
Created September 4, 2012 07:50
Show Gist options
  • Save chribben/3618160 to your computer and use it in GitHub Desktop.
Save chribben/3618160 to your computer and use it in GitHub Desktop.
P3 playlist async in F#
open System.Net
open System.IO
let date = "2012-08-28"
let getDataAsync (url:string) = async{
let r = WebRequest.Create(url)
let! resp = r.AsyncGetResponse()
use stream = resp.GetResponseStream()
use reader = new StreamReader(stream)
let data = reader.ReadToEnd()
return data}
//let getData (url:string) =
// let r = WebRequest.Create(url)
// let resp = r.GetResponse();
// use stream = resp.GetResponseStream()
// use reader = new StreamReader(stream)
// let data = reader.ReadToEnd()
// data
let hours = [7..23] |> List.map string
let urls = hours |> List.map (fun h -> "http://api.sr.se/api/playlist/playlist.aspx?programid=164&date=" + date + "&hh=" + h)
//let syncResp = urls |> List.map (fun r -> getData r) |> ignore
let asyncResp = urls |> List.map (fun r -> getDataAsync r) |> Async.Parallel |> Async.RunSynchronously |> ignore
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment