Я хочу получить список значений из rest API в правильном порядке. Цикл для этого метода fetchApiResponse() вызывается в цикле от 1 до 10, и именно так должно работать это свойство id — от 1 до 10. Но теперь результат имеет случайный порядок. Вот мой код:
Код: Выделить всё
object RestModel : MVPContract.Model {
private val apiClient = APIClient.getInstance()
private var job: Job? = null
private var id = 0;
override fun fetchApiResponse(presenter: MVPContract.Presenter) {
job = CoroutineScope(Dispatchers.IO).launch {
id++
val response = apiClient.getCharacterById(id)
withContext(Dispatchers.Main) {
try {
val apiResponse = presenter.processRawJson(response.body()!!)
presenter.passResponseToView(apiResponse)
}
catch (ex: Exception) {
presenter.passErrorResponseMessageToView(ex.message.toString())
}
}
}
}
fun cancelJob() {
job?.cancel()
}
}
Я пытался изменить позицию id++ в этом методе, но либо результат приходит в случайном порядке (как я уже говорил), либо дает только первый результат десять раз.
п>
Подробнее здесь: https://stackoverflow.com/questions/785 ... sult-order
Мобильная версия