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

问题描述 投票:-1回答:2

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

pushToDBAsync();pushToDB();

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

public Task<bool> pushToDBAsync(.....)
{
    return _database.pushToDBAsync(.....);
}
c# async-await
2个回答
0
投票

*如果要将您的方法用作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.
 }

0
投票

这是一个异步方法,因为调用者可以等待它。与使用的区别 public async Task<bool> pushToDBAsync(....) 是你给调用者决定如何处理任务的能力。这样做也可以帮助避免一些陷阱,如本博文中所述:http://blog.stephencleary.com/2016/12/eliding-async-await.html

简而言之:使用Async标记这样的方法会向调用者传达可以等待它的信息,并使您更容易与代码进行交互。

© www.soinside.com 2019 - 2024. All rights reserved.