一个任务的多个出口点(立即和延迟)

马克·银

我正在尝试将两个单独功能的功能串联到一个Task中。我可能正在做书,但是我也很想知道这是否可行,所以希望那里的一些C#向导能够解决这个问题。

这是当前设置。

async Task GetData()
{
    // Get some cached data immediately from the database
    Data = FetchDataLocal(); 

    // Replace the local data with the data from the web when it is available 
    Data = await FetchDataRemote();
}

我想将这两个函数移到一个仅返回的Task中,Data但是一个任务当然只能返回一次。

所以本质上,我需要这种(以下)功能,但形式正确。我很乐观,那里有一个优雅的解决方案。

async Task<DataType> GetData()
{
    // Get some cached data immediately from the database
    return FetchDataLocal(); 

    // Replace the local data with the data from the web when it is available 
    return await FetchDataRemote();
}

是否有某种Task解决方案可让您执行以下操作?因此,任务将返回两次数据(立即数据然后是延迟数据)。解决方案甚至可能不是任务,但我不确定会是什么。

斯蒂芬·克莱里

假设您正在MVVM应用程序中工作,我建议使用我的NotifyTask<T>type,它可以INotifyPropertyChanged为您处理这些事情:

public NotifyTask<TData> Data;

ViewModelConstructor()
{
  // Get some cached data immediately from the database
  var immediateData = FetchDataLocal(); 

  // Replace the local data with the data from the web when it is available
  Data = NotifyTask.Create(FetchDataRemote(), immediateData);
}

如果您确实使用NotifyTask<T>,则需要将数据绑定到Data.Result

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

任务栏-当打开多个窗口时,将最后一个窗口立即移到最前面而不是悬停

来自分类Dev

任务执行器不会立即运行下一个任务

来自分类Dev

ScopeGuard与功能的多个资源分配区和出口点一起使用

来自分类Dev

一个点的向量的累计和

来自分类Dev

一个点的向量的累计和

来自分类Dev

一次启动多个任务,然后在一个任务完成时启动另一个任务

来自分类Dev

如何使用ember 2.3在一个模板文件中呈现多个出口

来自分类Dev

角CDK门户,一个门户出口有多个门户?

来自分类Dev

创建了多个出口公共IP,但仅使用了一个

来自分类Dev

从多个端口(在不同代理中)到一个出口(在记分板中)的连接

来自分类Dev

包含多个生成任务的Grunt任务将仅运行第一个任务

来自分类Dev

包含多个生成任务的Grunt任务将仅运行第一个任务

来自分类Dev

一个Gulp任务中有多个同步流?

来自分类Dev

为多个gradle任务创建一个临时目录

来自分类Dev

创建一个可以执行多个任务的android Button

来自分类Dev

等待一个循环中的多个任务

来自分类Dev

哪一个是最好的 AlarmManager 或 Handler 延迟重复后台任务

来自分类Dev

一个INSERT和多个SELECT

来自分类Dev

一个ViewModel和多个视图

来自分类Dev

多个DisplayPort和一个DisplayPort

来自分类Dev

PostGIS计算从一个点到多个点的距离

来自分类Dev

从 webpack 多个入口点获取一个 css 文件

来自分类Dev

跳过IEnumerable中的第一个和最后一个,延迟执行

来自分类Dev

以随机延迟(一个接一个)和随机水平位置动画滚动图像

来自分类Dev

一个接一个地循环执行多个任务

来自分类Dev

在一个DAG中执行顺序和并发任务

来自分类Dev

在一个DAG中执行顺序和并发任务

来自分类Dev

正则表达式(最多 3 个字母和每个可能的顺序一个或多个点)

来自分类Dev

异步并等待一个循环中的多个任务,如何返回单个任务

Related 相关文章

  1. 1

    任务栏-当打开多个窗口时,将最后一个窗口立即移到最前面而不是悬停

  2. 2

    任务执行器不会立即运行下一个任务

  3. 3

    ScopeGuard与功能的多个资源分配区和出口点一起使用

  4. 4

    一个点的向量的累计和

  5. 5

    一个点的向量的累计和

  6. 6

    一次启动多个任务,然后在一个任务完成时启动另一个任务

  7. 7

    如何使用ember 2.3在一个模板文件中呈现多个出口

  8. 8

    角CDK门户,一个门户出口有多个门户?

  9. 9

    创建了多个出口公共IP,但仅使用了一个

  10. 10

    从多个端口(在不同代理中)到一个出口(在记分板中)的连接

  11. 11

    包含多个生成任务的Grunt任务将仅运行第一个任务

  12. 12

    包含多个生成任务的Grunt任务将仅运行第一个任务

  13. 13

    一个Gulp任务中有多个同步流?

  14. 14

    为多个gradle任务创建一个临时目录

  15. 15

    创建一个可以执行多个任务的android Button

  16. 16

    等待一个循环中的多个任务

  17. 17

    哪一个是最好的 AlarmManager 或 Handler 延迟重复后台任务

  18. 18

    一个INSERT和多个SELECT

  19. 19

    一个ViewModel和多个视图

  20. 20

    多个DisplayPort和一个DisplayPort

  21. 21

    PostGIS计算从一个点到多个点的距离

  22. 22

    从 webpack 多个入口点获取一个 css 文件

  23. 23

    跳过IEnumerable中的第一个和最后一个,延迟执行

  24. 24

    以随机延迟(一个接一个)和随机水平位置动画滚动图像

  25. 25

    一个接一个地循环执行多个任务

  26. 26

    在一个DAG中执行顺序和并发任务

  27. 27

    在一个DAG中执行顺序和并发任务

  28. 28

    正则表达式(最多 3 个字母和每个可能的顺序一个或多个点)

  29. 29

    异步并等待一个循环中的多个任务,如何返回单个任务

热门标签

归档