gpt4 book ai didi

f# - 使用 FSharp 中的 Task.FromResult(0)

转载 作者:行者123 更新时间:2023-12-04 23:21:00 26 4
gpt4 key购买 nike

我正在将一些遗留的 C# 类重写为 F#。其中一个类使用 this.SendAsync(identityMessage) 的单一方法实现了 IIdentityMessageService

在 C# 代码中,我看到了这个

    if (transportWeb != null)
return transportWeb.DeliverAsync(message);
else
return Task.FromResult(0);

我像这样在 F# 中尝试过
    if  transportWeb != null then
transportWeb.DeliverAsync(message)
else
Task.FromResult(0)

我在最后一行出现错误
This expression was expected to have type
Task
but here has type
Task<'a>

我错过了什么?谢谢

最佳答案

它看起来像 DeliverAsync返回 Task ,所以你需要两个分支都返回一个 Task . Task.FromResult(0)返回 Task<int>所以你需要明确地将它上传到 Task :

else
Task.FromResult(0) :> Task

关于f# - 使用 FSharp 中的 Task.FromResult(0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26960836/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com