2

有什么(反模式)可以阻止我像这样进行 API 调用的异步版本吗?

public IItem GetItem(int id)
{
    var result = SomeLengthyServiceCall(id);
    return result;
}

public async Task<IItem> GetItemAsync(int id)
{
    return await Task.Run(() => this.GetItem(id));
}
4

1 回答 1

1

是的,这是一种反模式;请参阅 Stephen Toub关于同步方法的异步包装器的优秀博文。

简而言之,只有自然异步的方法才应该有异步 API。

于 2013-01-18T15:28:30.003 回答