没有异步方法工作

时间:2016-07-19 17:31:42

标签: c# xamarin async-await kinvey

我的完整Kinvey和Xamarin Async-API无法使用await / async方法。我不知道问题出在哪里。我在代码中没有发现任何错误,但我使用的一般方法应该没问题,比如

User _User= await KinveyXamarin._Client.User().LoginAsync();

我在互联网上搜索,但我没有发现任何类似的问题。它返回Compile_time错误

  

错误CS4033:等待'等待'运算符只能在异步中使用   方法。考虑使用' async'标记此方法。修饰语和   将其退货类型更改为'任务'。

我真的不知道导致这个问题的是什么,这几乎是我使用异步API和Kinvey的第一步。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

您编写await的方法本身应该是async方法。

public async Task MyMethodAsync()
{
    User _User = await KinveyXamarin._Client.User().LoginAsync();
    // more code
}

如果要返回对象,请使用Task<T>

public async Task<User> MyMethodAsync()
{
    User _User = await KinveyXamarin._Client.User().LoginAsync();
    // more code

    return _User;
}

额外注意:请尝试avoid async void,这是邪恶的。

编辑:最好在-Async上结束异步方法,以便使用您的代码清楚地了解这一点。