Ну, у вас определенно есть состояние гонки.Если вам удастся отправить два запроса и у вас очень медленно отвечающий сервер, вы можете получить один и тот же твит дважды.Я не уверен, что это проблема в вашем случае, но это, безусловно, вариант.
Учитывая, что это источник вашей проблемы, у вас есть по крайней мере два варианта решения:
- Поддерживайте некоторый флаг, который бы указывал, ожидаете ли вы ответа сервера.Это позволит вам предотвратить одновременную отправку двух запросов от одного и того же клиентского экземпляра.ПРИМЕЧАНИЕ. Это не то же самое, что синхронные запросы.Последний блокирует ваш пользовательский интерфейс!
- Вы также можете проверить, существует ли твит с возвращенным идентификатором, и только после этого продолжить.Однако это немного опасно, потому что это может скрыть более глубокую проблему с вашей реализацией.
РЕДАКТИРОВАТЬ
Я думаю, что ваша проблема - это просто URL/timeline/SOME-ID-HERE
возвращает все новейшие твиты до указанного идентификатора включительно .Я проверил содержание запросов, отправляемых вашими приложениями.Первый /timeline
длинный и заканчивается идентификатором 119912841942802432
.И это единственный идентификатор, который возвращается в вашем втором запросе.
Чего я не понимаю, так это как идентификатор в адресе связан с идентификаторами ваших твитов.Адрес второго запроса /timeline/119912841942802430
.С другой стороны, 119912841942802430
ничего не соответствует в результатах.119912841942802432
(обратите внимание 2
вместо 0
в конце).