jip*_*pot 1 c# asynchronous async-await xamarin
我有一个方法
public async void getResult ()
Run Code Online (Sandbox Code Playgroud)
这取决于2等待它内部的响应.
这是第一个:等待:
await System.Threading.Tasks.Task.Factory.StartNew (() => {
try
{
scannedItem = getScannedItem();
}
catch (Exception exe)
{ }
Run Code Online (Sandbox Code Playgroud)
第二个等待等待从上面使用scanningItem的调用
await System.Threading.Tasks.Task.Factory.StartNew (() => {
try
{
getResultsScannedItem = results(ScannedItem);
}
catch (Exception exe)
{ }
Run Code Online (Sandbox Code Playgroud)
我想让这一切都从一个按钮执行.但是,第二个等待永远不会被执行.我可以在方法中有两个等待吗?有点担心如何去做这件事.
sca*_*tag 11
是的,你可以在一个方法中有多个等待..但这些看起来不像是等待的任务..你只是用一个任务工厂包装它们.
您似乎也在吞咽代码中可能发生的任何异常.
尝试更改为:
await Task.Run(() => scannedItem = getScannedItem());
await Task.Run(() => getResultsScannedItem = results(ScannedItem));
Run Code Online (Sandbox Code Playgroud)
使用调试器逐步执行它,看看它是否正在运行或发生异常.