2016-10-15 3 views
0

Вот упрощенная версия моего кода. function1() должен что-то проверить в Интернете. Он должен делать это в фоновом режиме приложения (я не могу это изменить), который позволяет остальной части кода запускаться во время проверки Интернета. Эта функция может занять несколько секунд. Я не могу поместить журнал в конце функции 1, потому что ему нужно запустить ли функция1 успешно или нет, но только после того, как она выполнена. Как я могу достичь этого без использования таймера?Как остановить функцию от запуска кода до тех пор, пока не будет выполнено условие

if (condition) { 

    if (condition2) { 
     function1(); 
    } 

    Log.i("Info", "This should not appear until function1 completes or fails"); 
} 

ответ

0

Не проверять постоянно; это называется занят ожиданием и неэффективен, особенно на мобильных устройствах (поскольку устройство не может перейти в режим с низким энергопотреблением). Вместо этого используйте AsyncCallback для запуска вашего function1 и поместите сообщение журнала в обратный вызов.

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