2013-12-12 3 views
1

Я хотел бы получить результат запроса, сделанного с окнами azure.onCompleted method

private boolean checkIfExist(Client c) 
{ 
    this.clientTable.where().field("id").eq(c.getId()) 
     .execute(new TableQueryCallback<Client>() 
     { 
      @Override 
      public void onCompleted(List<Client> arg0, int arg1, 
        Exception arg2, ServiceFilterResponse arg3) 
      { 
       //if (arg0.size() >= 1) 
        Global.getInstance().exist = true; 
      } 
     }); 

    if (Global.getInstance().exist == true) 
    { 
     Global.getInstance().exist = false; 
     return true; 
    } 
    else 
    { 
     return false; 
    } 
} 

Я знаю, что работа, однако, поскольку это веб-запрос, требуется некоторое время. Мне интересно, как подождать, пока он не пойдет на onCompleted, а затем я могу разобраться с моими данными.

ответ

1

Я не знаю, как это работает, но насколько я вижу, он выглядит уже асинхронным. Но если это не так, вы можете создать поток и сделать свой запрос там в фоновом режиме. После его завершения вы можете отправить свои данные в главную нить с помощью обработчика.

Here вы можете найти небольшой пример, чтобы понять, как он работает.

+0

Мне нужно сделать это синхронно .... –

+0

Он должен быть синхронным с самим собой, но асинхронным с основной нитью. Это единственный способ. – osayilgan

Смежные вопросы