Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
DemD10
59 / 48 / 13
Регистрация: 03.09.2013
Сообщений: 474
1

Retrofi 2 как получить результат параллельных запросов

22.11.2016, 14:17. Просмотров 255. Ответов 2
Метки нет (Все метки)

Все привет. Вот над чем я задумался. Допустим, я делаю три одинаковых запроса подряд на загрузку, к примеру, картинки в base. Затем мне нужно записать результаты в массив, но вот какая штука, запросы стартанули по очереди, одновременно, ну или с совсем небольшим интервалом, в секунду, но завершится они могут по разному, не факт что первый запрос вернет картинку быстрее, а нужно чтобы по итогу в массиве оказалось 3 картинки в нужном порядке (в порядке старта запросов). Так вот как бы это реализовать грамотно, я в подсознании понимаю что должно быть не сложно, но что-то туплю.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2016, 14:17
Ответы с готовыми решениями:

Как вывести результат 2 запросов в 1 файл
В общем есть два запроса, при нажатии кнопки один выгружает результаты запроса в файл, как добавить...

Как объединить результат двух запросов
Всем доброго времени суток. Есть два запроса в пакете. Никак не соображу, как мне результаты этих...

Как получить такой результат? Результат на Картинке
Как сделать так чтобы лого было по середине, а текст по бокам....все как на картинке? Что написать...

Как получить список выполняемых запросов?
Привет. Поддскажите. Как получить список выполняемых запросов, спасибо

Как получить список запросов Oracle?
Скажите, можно ли запросом получить: список всех запросов список всех запросов текущей сессии...

2
shavuz
114 / 120 / 26
Регистрация: 29.01.2014
Сообщений: 609
22.11.2016, 19:33 2
судя по всему у вас должно быть что то такое:
Java
1
2
3
4
5
6
7
8
9
10
11
12
call.enqueue(new Callback<User>() {  
    @Override
    public void onResponse(Call<User> call, Response<User> response) {
        if (response.isSuccessful()) {
        } else {
         
        }
    }
 
    @Override
    public void onFailure(Call<User> call, Throwable t) {
    }
отследить очередность не получится, например ответ на второй запрос может быть получен раньше чем на первый. то что можно сделать это отсылать запросы поочередно, пришел первый - отослали второй - и тд.(при чем при нормальном интернете время получения таким образом(поочередно) не будет больше чем параллельно отправленные запросы), но в таком случае нужно предусмотреть варриан что делать если по каким то причинам предыдущая картинка не пришла. делать это все нужно в onResponse
или же делать чтоб картинки лежали в одном API и получать их одним запросом.
1
Pablito
2865 / 2277 / 768
Регистрация: 12.05.2014
Сообщений: 7,978
Завершенные тесты: 1
22.11.2016, 20:07 3
свой Callback написать, наследоваться от ретрофитовского
и там поле сделать int pos;

после того как он отработал - брать поле и писать в массив в позицию pos
PROFIT
1
22.11.2016, 20:07
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.11.2016, 20:07

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как получить лог SQL-запросов приложения?
Дано: ----- чужой код (приложение работает с БД ORACLE) Требуется: --------- разобраться...

Как получить позиции сайта по 1-2тыс. запросов?
Каким инструментом можно получить позиции сайта в поисковике по нескольким тысячам запросов? И...

Как в Server Profiler получить значения переменных запросов?
Просматриваю запросы к базе на SQL Server 2008 в Server Profiler. Можно ли в Server Profiler...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.