【发布时间】:2020-05-25 20:07:27
【问题描述】:
我正在制作一个小应用程序,用于跟踪 Bittrex 交易所的加密货币价值。
为此,我正在使用 Bittrex 的公共 api (https://bittrex.github.io/api/v3) 不幸的是,api 并不能通过一次调用提供我想要的数据,因此我需要进行两次 api 调用。
我想要实现的是拥有一个包含以下所有值的对象:
- symbol(这是两个api调用之间的共享值,所以这需要 匹配)
- 报价量
- 百分比变化
- lastTradeRate
粗体变量是一个 api 调用的一部分,其他值是另一个的一部分。 “符号”是两者的一部分。
我正在使用 kotlin 协程,我希望不必使用 RxJava 之类的东西来让它工作。
CoroutineScope(IO).launch {
val tickers = async {
api.getTickers()
}.await()
val markets = async {
api.getMarkets()
}.await()
val result = mutableListOf<Market>()
for (ticker in tickers.data) {
for (market in markets.data) {
if (ticker.symbol == market.symbol) {
result.add(
Market(
ticker.symbol,
ticker.lastTradeRate,
market.quoteVolume,
market.percentChange
)
)
}
}
}
}
【问题讨论】:
标签: android json kotlin retrofit