您可以使用combine 运算符根据其他字段的更改创建响应流。但是,您的其他字段(cityName、countryName)也必须是流。您可以使用MutableStateFlow或其他一些逻辑在您的 settingsManager 中创建它们。
以下是创建响应流的方法,该响应流将在位置更改时自动更改:
val cityNameFlow = flowOf("London", "Barcelona").onEach { delay(100) } // Replace with flow of your cityName from settings
val countryName = flowOf("UK", "Spain").onEach { delay(150) } // Replace with flow of your countryName from settings
val responseFlow = combine(cityNameFlow, countryNameFlow) { cityName, countryName ->
getAdhanTime(cityName, countryName)
}
responseFlow.collect { response ->
// Called whenever new response is available (cityNameFlow or countryNameFlow changes)
println(response)
}