【发布时间】:2014-09-26 16:19:12
【问题描述】:
我正在使用这个 mixpanel .net 项目:
https://cndrsn.wordpress.com/2014/04/
在页面上有一个使用 await 调用 MixpanelClient.GetCurrentClient() 的示例,但这样做时出现此错误:
无法等待“Mixpanel.MixpanelClient”
这是我的方法:
public async Task<string> TrackMixPanelLoggedIn(int userId)
{
string token = "mytoken!";
MixpanelClient _client = await MixpanelClient.GetCurrentClient();
TrackingEvent evt = new TrackingEvent("User logged in");
evt.Properties = new TrackingEventProperties(token);
evt.Properties.DistinctId = userId.ToString();
_client.Track(evt);
}
提前致谢
【问题讨论】:
-
我假设
MixpanelClient.GetCurrentClient()不是异步方法? -
MixpanelClient.GetCurrentClient()返回什么?async\await不是使所有事物异步的神奇关键字。 -
但是 MixPanelClient 的作者在他的示例中使用了它: MixpanelClient 主要的类是 MixpanelClient,它是一个可以让您跟踪事件和配置文件更新的小家伙。此外,如果发送元素失败,客户端将自动将其保存在本地,以便稍后自动将它们作为批处理发送。下面是如何获取它的一个实例: _client = await MixpanelClient.GetCurrentClient();此方法在第一次调用时是可等待的,客户端检查是否有任何未发送的元素,如果有则发送它们。示例来自:cndrsn.wordpress.com/2014/04
-
那么他要么错了,要么正在使用不同版本(更新?)的库。
-
错误信息告诉你该函数不可等待,就这么简单。
标签: c# asp.net .net asynchronous async-await