等待结果或直接返回任务?

时间:2015-04-17 11:52:02

标签: c# async-await

直接返回任务和等待结果然后返回结果之间有什么区别吗?

public Task<Result> GetResultAsync()
{
    return ComposeResultAsync(); // returning task directly
}

private Task<Result> ComposeResultAsync()
{
    // async code
}

public async Task<Result> GetResultAsync()
{
    return await ComposeResultAsync(); // awaiting result first
}

private Task<Result> ComposeResultAsync()
{
    // async code
}

有没有理由使用第一个例子,除非我需要等待另一个任务?

public async Task<Result> GetResultAsync()
{
    await DoSomethingElseAsync();

    return await ComposeResultAsync();
}

我仍然不确定。

0 个答案:

没有答案