RestSharp синхронный запрос в Windows Phone
Есть ли способ (любой, независимо от того, как) симулировать синхронные запросы, используя restsharp?
Я занимаюсь разработкой приложения, которое должно ждать успешного ответа при входе в систему, чтобы переместиться вперёд, очень сложно передавать обратные вызовы по всему моему коду, чтобы просто проверить вещи.
1 ответ
Решение
Используйте пакет Microsoft.Bcl.Async.
Затем с помощью метода расширения, например:
public static class RestClientExtensions
{
public static Task<IRestResponse> ExecuteTask (this IRestClient restClient, RestRequest restRequest)
{
var tcs = new TaskCompletionSource<IRestResponse> ();
restClient.ExecuteAsync (restRequest, (restResponse, asyncHandle) =>
{
if (restResponse.ResponseStatus == ResponseStatus.Error)
tcs.SetException (restResponse.ErrorException);
else
tcs.SetResult (restResponse);
});
return tcs.Task;
}
}
Вы можете звонить как:
var restResponse = await restClient.ExecuteTask(restRequest);