如何实现异步任务以使用异步和等待从数据库中获取数据?

Ujaval帕特尔

我正在做这个。它正在工作,但这是推荐的方法。请发表评论

public async void LoadData()
{
    DataTable  dtAdditionsDetails = await LoadReportData(importID,
                                             InkeyCommon.ToInt32(cmbSellers.SelectedValue),
                                             fromDate,
                                             toDate);
    if (dtAdditionsDetails != null)
      dtaGrdAdditions.ItemSource = dtAdditionsDetails.DefaultView;
} 

public async Task<DataTable> LoadReportData(int? importID,
                                        int sellerID,
                                        DateTime? fromDate,
                                        DateTime? toDate)
{
    DataTable dtAdditionsDetails = new DataTable();

    //Get Report Data                                             
    await Task.Delay(1);

    dtAdditionsDetails = ReportsData.GetRptAdditions(importID,
                                  sellerID,
                                  fromDate,
                                  toDate);

    return dtAdditionsDetails;
}
谢里登

为了await正确使用关键字,被“等待”的对象实际上应该是一种...Async方法,就像该GetStringAsync方法一样。正如@ ken2k正确指出的那样,您不能只使用await任何方法。因此,要回答您的问题,这是推荐的方法吗?, 答案是不。

您可以在MSDN上的Async and Await异步编程(C#和Visual Basic)页中找到如何正确使用awaitandasync关键字,但是,如果您只是尝试异步运行同步方法,则可以这样做这:

public DataTable LoadData()
{
    DataTable dtAdditionsDetails = ...
    // Get your data here synchronously
    return dtAdditionsDetails;
} 

public async Task<DataTable> LoadDataAsync()
{
    DataTable dtAdditionsDetails = LoadData();
    return Task.Run(() => LoadData());
} 

...

public async void GetDataAsynchronously()
{
    DataTable dtAdditionsDetails = await LoadDataAsync();
} 

请注意,...Async方法(通常)返回Task<T>对象,而不是没有对象,并且它们的名称以单词结尾Async另外请注意,只有数据从返回...Async的方法和没有Task<T>,而我们没有 await的时候没有什么await

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从数据库和异步任务获取空列表

来自分类Dev

异步数据库库如何实现?

来自分类Dev

异步数据库库如何实现?

来自分类Dev

实时数据库如何在迭代中等待异步任务?

来自分类Dev

如何创建异步任务,在从数据库获取数据的同时加载背景

来自分类Dev

等待GWT异步调用中的数据库结果

来自分类Dev

异步等待在端点中使用以从SQL数据库中获取结果时不起作用

来自分类Dev

我如何使用芹菜(异步)从以前存在的数据中从 django 模型(数据库)中获取数据

来自分类Dev

使用异步和等待从Room db获取数据

来自分类Dev

如何在异步编程中使用等待,异步和任务

来自分类Dev

从许多异步数据库查询中获取结果

来自分类Dev

如何使用异步/等待从sqlite db.each获取数据

来自分类Dev

等待从数据库异步获取数据以填充列表视图的方法的最佳方法

来自分类Dev

异步删除和更新数据库中的项目

来自分类Dev

使用接口从onpostexecute的异步任务获取数据

来自分类Dev

如何在.NET中异步查询数据库

来自分类Dev

如何使用Gatsby或React功能组件处理从数据库异步获取

来自分类Dev

在nodeJS中异步查询数据库

来自分类Dev

数据库中的异步请求

来自分类Dev

在nodeJS中异步查询数据库

来自分类Dev

使用递归的异步数据库调用

来自分类Dev

在Playframework(2.4-M3)和Slick(3.0.0-RC3)中异步等待数据库值

来自分类Dev

数据流(任务并行库)和异步等待

来自分类Dev

努力使异步功能等待数据库响应

来自分类Dev

如何清除ListView中的数据?异步任务

来自分类Dev

异步任务来处理多个数据库调用

来自分类Dev

提取JSON并将其存储在数据库中时,使用异步等待功能是否有任何价值?

来自分类Dev

如何使用Postgres数据库在Java中获得异步/事件驱动的LISTEN / NOTIFY支持?

来自分类Dev

如何确保仅在异步/等待数据库插入成功后才执行某些JavaScript代码?

Related 相关文章

  1. 1

    从数据库和异步任务获取空列表

  2. 2

    异步数据库库如何实现?

  3. 3

    异步数据库库如何实现?

  4. 4

    实时数据库如何在迭代中等待异步任务?

  5. 5

    如何创建异步任务,在从数据库获取数据的同时加载背景

  6. 6

    等待GWT异步调用中的数据库结果

  7. 7

    异步等待在端点中使用以从SQL数据库中获取结果时不起作用

  8. 8

    我如何使用芹菜(异步)从以前存在的数据中从 django 模型(数据库)中获取数据

  9. 9

    使用异步和等待从Room db获取数据

  10. 10

    如何在异步编程中使用等待,异步和任务

  11. 11

    从许多异步数据库查询中获取结果

  12. 12

    如何使用异步/等待从sqlite db.each获取数据

  13. 13

    等待从数据库异步获取数据以填充列表视图的方法的最佳方法

  14. 14

    异步删除和更新数据库中的项目

  15. 15

    使用接口从onpostexecute的异步任务获取数据

  16. 16

    如何在.NET中异步查询数据库

  17. 17

    如何使用Gatsby或React功能组件处理从数据库异步获取

  18. 18

    在nodeJS中异步查询数据库

  19. 19

    数据库中的异步请求

  20. 20

    在nodeJS中异步查询数据库

  21. 21

    使用递归的异步数据库调用

  22. 22

    在Playframework(2.4-M3)和Slick(3.0.0-RC3)中异步等待数据库值

  23. 23

    数据流(任务并行库)和异步等待

  24. 24

    努力使异步功能等待数据库响应

  25. 25

    如何清除ListView中的数据?异步任务

  26. 26

    异步任务来处理多个数据库调用

  27. 27

    提取JSON并将其存储在数据库中时,使用异步等待功能是否有任何价值?

  28. 28

    如何使用Postgres数据库在Java中获得异步/事件驱动的LISTEN / NOTIFY支持?

  29. 29

    如何确保仅在异步/等待数据库插入成功后才执行某些JavaScript代码?

热门标签

归档