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

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

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

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

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

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

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

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

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
2867 / 2279 / 768
Регистрация: 12.05.2014
Сообщений: 7,978
Завершенные тесты: 1
22.11.2016, 20:07 3
свой Callback написать, наследоваться от ретрофитовского
и там поле сделать int pos;

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

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

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

Как получить лог 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.