当前位置:  开发笔记 > 编程语言 > 正文

启动任务并等待多次

如何解决《启动任务并等待多次》经验,为你挑选了1个好方法。

在移动应用程序中,我有一个可能很长的异步操作(在异步函数中分组的多个异步网络调用).

_myClassField = myClient.DoANumberOfNetworkCallsAsync();

我在应用程序启动时执行调用,然后显示启动画面和欢迎屏幕,并且仅在第一次用户交互时显示(例如:按下按钮)我最终等待任务并让用户等待响应未准备好.

public async Task GetMyLongAwaitedObjectAsync()
{
    return await _myClassField;
}


可以多次调用此方法,并且可以同时形成UI和非UI线程.

这可能是问题的根源还是有效的模式?



1> Paulo Morgad..:

可以根据需要多次等待完成的任务,并且它总是会产生相同的结果.

您也可以根据需要拨打电话Wait()Result多次,任务完成后也不会阻止.

不过,我会改变你的代码:

public Task GetMyLongAwaitedObjectAsync()
{
    return _myClassField;
}


这样,编译器就不必生成状态机,并且每次调用属性时都不会实例化.

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有