如何使异步任务返回true或false?

时间:2019-03-10 09:55:33

标签: c#

我正在用我的方法调用这样的任务:

if (Settings.mode.IsPractice() && App.practiceRunning != true)
{
   // I want to call this method and check if it returned true or false
   await IsPractice();
}

private async Task IsPractice()
{
    // I want to return true or false from here
}

如何根据IsPractice()的值返回true或false从方法返回?看起来async方法仅返回一个Task,但我需要知道它是否已运行并返回true或false。

3 个答案:

答案 0 :(得分:3)

使用通用任务类型:

if (Settings.mode.IsPractice() && App.practiceRunning != true)
{
    if (await IsPractice()) {
        // Do something here
    }
}

private async Task<bool> IsPractice()
{
    return true;
}

答案 1 :(得分:2)

 private static async Task<bool> IsPractice()
    {
     return true;   
    }

并在异步方法中收到这样的消息

bool x =  await IsPractice();

答案 2 :(得分:1)

只需添加<bool>

private async Task<bool> IsPractice()
{
    return true;
}

或仅使用async bool

private async bool IsPractice()
{
    return true;
}