Почему асин c не поможет дождаться результата? - PullRequest
0 голосов
/ 02 марта 2020

android studio 3.6

Мне нужно вызвать метод getFuelPrice и ТОЛЬКО ПОСЛЕ ТОГО, КАК FINI SH, а затем вызвать другой код.

фрагмент:

      for (currentPass in 0..10) {
        viewModelScope.async(Dispatchers.Main) {
                                currentRecognizedCheck = getFuelPrice(currentRecognizedCheck)
                            }
}


suspend fun getFuelPrice(currentRecognizedCheck: Check): Check {
        withContext(Dispatchers.IO) {
            val response = TransportService.getFuelPricesList(
                currentRecognizedCheck.date!!
            )
        }
        return currentRecognizedCheck
    }


suspend fun getFuelPricesList(
            date: Date,
            isCustomtHandle: Boolean = false
        ): Response<*> {
            Debug.d(TAG, "getFuelPricesList: tangoContoRestClient = $tangoContoRestClient")
            suspend fun execOperation(): Response<*> =
                tangoContoRestClient.getFuelPricesList(date)
            return runOperation(isCustomtHandle, ::execOperation)
        }

Но метод getFuelPricesList вызывается каждый раз. Почему? Почему viewModelScope.async не помогает?

...