【发布时间】:2017-05-10 11:37:39
【问题描述】:
我有一个方法
public async void getResult ()
这依赖于其中的 2 个等待响应。
这是第一个:等待:
await System.Threading.Tasks.Task.Factory.StartNew (() => {
try
{
scannedItem = getScannedItem();
}
catch (Exception exe)
{ }
第二个使用 scannedItem 的 await await 调用
await System.Threading.Tasks.Task.Factory.StartNew (() => {
try
{
getResultsScannedItem = results(ScannedItem);
}
catch (Exception exe)
{ }
我想让这一切都通过一个按钮执行。但是,第二个 await 永远不会被执行。我什至可以在一个方法中有两个等待吗?有点困惑如何去做。
【问题讨论】:
-
有什么理由不能把第二个任务的主体放在第一个任务中? IE。
await Task.Factory.StartNew( ()=> { try { scannedItem = getScannedItem(); getResultsScannedItem = result( scannedItem ); } ... -
@clcto 我试着把它放在第一个里面,但我得到了错误:“只有当它包含的 lambda 表达式用 'async' 修饰符标记时,才能使用'await'运算符”
标签: c# asynchronous xamarin async-await