调用(标签)返回异步任务的方法是否正确

时间:2018-09-14 06:16:30

标签: c# async-await

我有数据库驱动程序提供的将值推入db(异步和非异步)的方法,

pushToDBAsync();pushToDB();

因此,我为自己的实现(如下所示)为驱动程序方法创建了一个包装器方法。它是否正确?并称它为异步方法是否正确?

public Task<bool> pushToDBAsync(.....)
{
    return _database.pushToDBAsync(.....);
}

2 个答案:

答案 0 :(得分:0)

这是一个异步方法,调用方可以等待它。 与
的区别 public async Task<bool> pushToDBAsync(....)
是使调用者可以决定如何处理任务。以这种方式进行操作也可能有助于避免一些陷阱,如本博客文章中所述:http://blog.stephencleary.com/2016/12/eliding-async-await.html

长话短说:用Async标记这样的方法可以使调用者知道可以等待它,并使与代码的交互更加容易。

答案 1 :(得分:0)

*如果要使用您的方法作为pushToDBAsync();因此,请按照以下代码获取方法语法。

public Task<bool> pushToDBAsync(.....)
{
  return _database.pushToDBAsync(.....);
 // Return same but execution time more compare than Async method.
 }

*如果要使用您的方法作为pushToDB();因此,请按照以下代码获取方法语法。

//div[contains(@class,'apps-menuitem') and .='Create Rule']