我有数据库驱动程序提供的方法,将值推送到db(同步和非异步),如此,
pushToDBAsync();
和pushToDB();
所以我为我自己实现的驱动程序方法创建了一个包装方法,如下所示。它是否正确?并称这是一种异步方法是正确的吗?
public Task<bool> pushToDBAsync(.....)
{
return _database.pushToDBAsync(.....);
}
*如果要将您的方法用作pushToDBAsync();所以你按照下面的代码语法。
public Async Task<bool> pushToDBAsync(.....)
{
return await _database.pushToDBAsync(.....);
}
*如果要将方法用作pushToDB();所以你按照下面的代码方法语法。
public Task<bool> pushToDBAsync(.....)
{
return _database.pushToDBAsync(.....);
// Return same but execution time more compare than Async method.
}
这是一个异步方法,因为调用者可以等待它。与使用的区别
public async Task<bool> pushToDBAsync(....)
是你给调用者决定如何处理任务的能力。这样做也可以帮助避免一些陷阱,如本博文中所述:http://blog.stephencleary.com/2016/12/eliding-async-await.html
简而言之:使用Async标记这样的方法会向调用者传达可以等待它的信息,并使您更容易与代码进行交互。