异步编程结果与任务开始

时间:2018-08-01 19:42:25

标签: asynchronous

我已经开始学习异步编程并且陷入混乱!

请考虑以下内容

public void NotAsync()
{
    var result = CallSomethingWithAsync();
} 

public async Task<bool> CallSomethingWithAsync()
{
    //await some aysnc task
}

我遇到的问题是我的第一个功能不是异步的。这样,看来我可以应用Result或Start(例如CallSomethingWIthAsync().Result);

我不明白这一点,因为我希望必须先启动它。但是,如果我做CallSomethingWithAsync().Start(),那么我就没有选择的结果。例如CallSomethingWithAsync().Start().Result

有时候,我会看到一条警告,解释代码将同步执行。

但是,当引发异常时,它似乎一直在等待。

我希望我已经解释了让自己感到困惑的地方,StartResult之间的区别是什么,异步时我该如何使用来获得结果(同步是可以的)方法返回Task<T>

0 个答案:

没有答案