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);
Другие вопросы по тегам