12 ms·
look at this garbage syntax, let readFilesTask (path1, path2) = async { let! bytes1 = File.ReadAllBytesAsync(path1) |> Async.AwaitTask
by waynesonfire 5y ago
look at this garbage syntax,
let readFilesTask (path1, path2) =
async {
let! bytes1 = File.ReadAllBytesAsync(path1) |> Async.AwaitTask
let! bytes2 = File.ReadAllBytesAsync(path2) |> Async.AwaitTask
return Array.append bytes1 bytes2
} |> Async.StartAsTask
async await.. so ugly. I have a heard time getting excited at this "state of the art" when parallel processing in Erlang is so ubiquitous and native.
- DerHardt 5y agoThat's because an async computation is not a task. So use the task computation either through a nuget on < F# 6.0 or build in >= F# 6.0 let readFilesTask (path1, path2) = task { let! bytes1 = File.ReadAllBytesAsync(path1) let! bytes2 = File.ReadAllBytesAsync(path2) return Array.append bytes1 bytes2 }
- thrwaway7745 5y agothat's the old syntax
- waynesonfire 5y agoIndeed, newer syntax is much cleaner!