我正在尝试使用RESTSharp调用REST服务并立即继续执行,因为我只需要启动任务但需要立即继续执行,所以我尝试使用ExecuteAsync而不是Execute。
我的代码现在应该是这样的
IRestResponse<ExpandoObject> restResponse = client.ExecuteAsync<ExpandoObject>(restRequest, response =>
{
callback(response.Content);
});
但是,我不知道如何实现回调函数,所有样本都没有显示。我认为它是这样的,但它不能编译。
private IRestResponse<ExpandoObject> callback(string content)
{
return null;
}
有什么想法吗?
答案 0 :(得分:2)
有几种方法可以实现您尝试做的事情,但它看起来像您的 回调有错误的方法签名...为了得到“基本”运行的东西,以下应该工作 (我补充说等待测试):
EventWaitHandle resetEvent = new AutoResetEvent(false);
client.ExecuteAsync(request, response =>
{
callback(response.Content);
resetEvent.Set();
return;
});
resetEvent.WaitOne();
}
private static void callback(string content)
{
System.Console.WriteLine(content);
}