gpt4 book ai didi

c# - 在任务中返回 true 或 false 的异步方法

转载 作者:太空狗 更新时间:2023-10-29 18:04:33 24 4
gpt4 key购买 nike

我知道 async 方法只能返回 voidTask。我在 async 方法中阅读了类似的异常处理方法。我是 async 编程的新手,所以我正在寻找一个简单的解决方案。

我的 async 方法运行一个 Sql 查询。如果查询正常,它应该用 bool 值 true 通知调用者,否则为 false。我的方法目前是无效的,所以我无法知道。

private async void RefreshContacts()
{
Task refresh = Task.Run(() =>
{
try
{
// run the query
}
catch { }
}
);
await refresh;
}

我只是想将 async 更改为 Task 以便在我的 catch 语句中该方法将返回一个 false 否则为 true

最佳答案

听起来您只需要返回一个 Task<bool>然后:

private async Task<bool> RefreshContactsAsync()
{
try
{
...
}
catch // TODO: Catch more specific exceptions
{
return false;
}
...
return true;
}

就我个人而言,我不会捕获异常,而是让调用者检查任务的故障状态,但这是另一回事。

关于c# - 在任务中返回 true 或 false 的异步方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31513409/

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