valid una termine que promises promesas programacion only node funcion example esperar await async asincrona asynchronous f#

asynchronous - una - Combinando funciones asíncronas F#



promesas javascript (1)

Puede combinar los dos usando la expresión async :

let getImages imageUrls = imageUrls |> Seq.map (fun url -> async { let! content = getImage url return! saveImageToDisk (topath url) content }) |> Async.Parallel |> Async.RunSynchronously

Estoy un poco frustrado aquí. Sé que tengo todos los bits, pero no puedo encontrar la manera de combinarlos ...

let saveImageToDisk path content = async { use s = new FileStream(path, FileMode.OpenOrCreate) do! s.AsyncWrite(content) printfn "Done writing %A" path } // returns Async<unit> let getImages imageUrls = imageUrls |> Seq.map (fun url -> topath url, getImage url) //Next line not happy because content is Async<byte[]> instead of byte[] |> Seq.map (fun (path, content) -> saveImageToDisk path content) |> Async.Parallel |> Async.RunSynchronously