f#-async

    9熱度

    2回答

    我需要在記錄異常之後重新執行異步塊時發生的異常。 當我執行以下操作時,編譯器認爲我沒有從處理程序中調用reraise函數。我究竟做錯了什麼? let executeAsync context = async { traceContext.Properties.Add("CorrelationId", context.CorrelationId) try do! ru

    2熱度

    1回答

    我正在做很多異步Web請求和使用Async.Parallel。喜歡的東西: xs |> Seq.map (fun u -> downloadAsync u.Url) |> Async.Parallel |> Async.Catch 有些要求可能會拋出異常,我要記錄它們並繼續與URL的其餘部分。我找到了Async.Catch函數,但是當第一個異常拋出時,這會停止計算。我知道我可

    3熱度

    1回答

    我想用HttpClient在F#中發送POST請求。不幸的是,我發現F#中的超時無效。我有這樣的代碼: let asyncTest() = async { let httpClient = new HttpClient() try let! res = httpClient.PostAsync("http://135.128.223.112", new String

    2熱度

    1回答

    當我嘗試從我的F#代碼調用C#庫中的異步方法時。 我得到下面的編譯錯誤。 此表達預期具有類型異步<「一>但這裏已經鍵入Threading.Thread.Tasks.Task SendMessageAsync是在C#庫並返回Threading.Thread.Tasks.Task let sendEmailAsync message = async { let! response

    6熱度

    1回答

    我通過Async.AwaitTask調用HttpClient,從代理(MailboxProcessor)中調用。我希望在HTTP調用期間捕獲錯誤,因此在異步工作流中使用了try...with,但它完全沒有捕獲客戶端超時異常,從而導致代理崩潰。 最小再現: #r "System.Net.Http" open System open System.Net.Http let client = n

    6熱度

    1回答

    F#的Async.Parallel操作的結果是否保證在訂單作業中提交?我的示例代碼按順序返回結果,但我無法在MSDN文檔或F#規範中找到任何提及,請確保此必須是就是這種情況 - 這並非巧合。 這裏是我的示例代碼: let r = System.Random() Async.Parallel [ for i in 0..10 -> async { let ran

    5熱度

    1回答

    我試圖在F#中編寫非阻塞代碼。我需要下載一個網頁,但有時網頁不存在,AsyncDownloadString引發異常(404 Not Found)。我嘗試了下面的代碼,但它不能編譯。 我怎樣才能處理來自AsyncDownloadString的異常? 我怎麼想在這裏處理異常?如果發生錯誤,我只想返回一個空字符串或帶有消息的字符串。