Вывод полученного ответа [требует правки]

202
24 мая 2018, 09:50
public void execute(CommandSender sender, String[] args) {
    if (sender instanceof ProxiedPlayer) {
        ProxiedPlayer p = (ProxiedPlayer) sender;
        //Отправил запрос другому серверу.
        //Получил ответ и вывожу его.
        System.out.println("Закончил работу.");
    }
}

Имеется вот такой код. Цель: получить ответ и вывести на экран. Проблема в том что на отправку и получение запроса требуется некоторое время. Как я могу отправить запрос на сервер при это не останавливая этот поток на время? + еще проблема в том что ответ приходит совсем в другом классе.

Answer 1

Что бы связать классы, которые не имеют прямой связи, можно воспользоваться Publish–subscribe pattern, например реализацию greenrobot EventBus. Это нечто интуитивно похожее на обсервабл. Вы где-то общаетесь с сервером, когда получаете ответ кидаете событие

eventBus.post(new ServerAnswer("HelloWorld!");

А в произвольном месте у вас подписчик получает это событие

@Subscruber
public void onServerAnser(ServerAnswer serverAnswer) {}

Инструкция:
http://greenrobot.org/eventbus/documentation/how-to-get-started/

READ ALSO
Уменьшение значения атрибута colspan, при сокрытии столбцов в таблице HTML

Уменьшение значения атрибута colspan, при сокрытии столбцов в таблице HTML

Используя @media в CSS стилях для дисплеев с маленьким разрешением, скрываю полностью "Скрываемый столбец 1", используя стили

241
Подбор цвета в html

Подбор цвета в html

Всем приветПомогите разобраться с цветами в HTML

249
Не отображается image в SVG

Не отображается image в SVG

Нужно с помощью JavaScript засунуть картинку внутрь SVG, при помещении тега image в SVG содержимое xlink:href игнорируется и не отображаетсяРади интереса...

235
Как настраивать Slick slider?

Как настраивать Slick slider?

Как-то скудновато описан функционал упомянутого слайдераМожет кто знает где посмотреть полноценную инструкцию по работе с этим слайдером...

250