Quantcast
Channel: かずきのBlog@hatena
Viewing all articles
Browse latest Browse all 1387

F#でTaskを待つ

$
0
0

非同期ワークフローの中でTaskってどうやって使うんだろう?と思ってたらAsyncクラスにAwaitaTaskっていうずばりっぽいメソッドがありました。こいつを使えば非同期ワークフローの中でlet!で結果を受け取ることができる。HttpClientを使ってGoogleトップページの情報をとってくるコードはこんな感じになりました。

割といい感じかも。

open System.Net.Http

async {
    use c = new HttpClient()
    let! r = c.GetAsync("http://www.google.co.jp") |> Async.AwaitTask
    r.EnsureSuccessStatusCode() |> ignore
    let! body = r.Content.ReadAsStringAsync() |> Async.AwaitTask

    printfn "%A" body
} |> Async.RunSynchronously

Viewing all articles
Browse latest Browse all 1387

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>