等到任务返回

时间:2016-02-03 23:12:45

标签: c# asynchronous async-await

如何在方法返回之前等待我的方法完成任务。

public async void  barcodescanner()
{
    var scanner = new ZXing.Mobile.MobileBarcodeScanner();
    barcode =  await scanner.Scan();
}   

scaner.Scan()的定义:

public Task<Result> Scan();

2 个答案:

答案 0 :(得分:2)

你不能等待async void方法的结果 - 它明确地&#34;激发并忘记&#34;行为。

如果您想等待完成 - 请返回Task.Wait

public async Task  barcodescanner() {...}

barcodescanner().Wait(); 

注意:

答案 1 :(得分:0)

您可以随时执行此操作:

public void barcodescanner()
{
    var scanner = new ZXing.Mobile.MobileBarcodeScanner();
    barcode =  scanner.Scan().Result;
}
相关问题