如何等待IAsyncAction方法?

时间:2017-01-16 17:27:00

标签: c# asynchronous async-await uwp

我正在尝试使用IAsyncAction方法,但等待我收到错误消息:

  

“await操作只能在异步lambda函数中使用”

任何人都可以帮助找到返回不返回任何内容的异步函数的正确格式

IAsyncAction ICameraHelper.startCameraPreview(CaptureElement PreviewControl)
{
    try
    {
        return Task.Run(() =>
        {
            await InitializeCameraAsync(PreviewControl);
            RegisterEventHandlers();
        }).AsAsyncAction();
    }
    catch (Exception ex)
    {
        throw ex;
    }
}

1 个答案:

答案 0 :(得分:3)

请改为尝试:

async IAsyncAction ICameraHelper.startCameraPreview(CaptureElement PreviewControl)
{
    await InitializeCameraAsync(PreviewControl);
    RegisterEventHandlers();
}

无需尝试将InitializeCameraAsync传递给.Task.Run方法。