Во-первых: я новичок в Vue.js / API, поэтому надеюсь, что мой вопрос не слишком глуп (возможно, я не вижу очевидного) :)
Итак, используя Vue.js, я подключаюсь к этому API и хочу отслеживать история каждой криптовалюты (нет проблем с получением данных из API). Информация о валютах доступна по URL-адресу: https://api.coinranking.com/v2/coins А история доступна с помощью другого: https://api.coinranking.com/v2/coin/ID_OF_THE_COIN/history
Как видите, для второго URL-адреса требуется идентификатор конкретной валюты, доступной в первом.
Я хотел бы найти способ сделать только 1 запрос на получение для всех валют и их истории, вместо того, чтобы делать столько запросов, сколько есть доступных валют (около 50 в этом API), я пробовал несколько вещей, но ни один из них не работал пока (например, используя URL-адрес монеты и сохраняя идентификаторы валют в таблице, затем используя URL-адрес истории и изменяя его идентификаторами таблицы, но упираясь в стену).
Вот запрос на получение axios, который у меня есть на данный момент для одной валюты:
const proxyurl = "https://cors-anywhere.herokuapp.com/"
const coins_url = "https://api.coinranking.com/v2/coins"
const history_url = "https://api.coinranking.com/v2/coin/Qwsogvtv82FCd/history"
//COINS DATA
axios
.get(proxyurl + coins_url, {
reqHeaders
})
.then((reponseCoins) => {
// console.log(reponseCoins.data)
this.crypto = reponseCoins.data.data.coins;
})
.catch((error) => {
console.error(error)
})
//GET ALL COINS UUIDs
axios
.get(proxyurl + coins_url, {
reqHeaders
})
.then((reponseUuid) => {
this.cryptoUuidList = reponseUuid.data.data.coins;
//access to each crypto uuid:
this.cryptoUuidList.forEach(coinUuid => {
console.log("id is: " + coinUuid.uuid)
//adding uuids to table:
this.coinsUuids.push(coinUuid.uuid);
});
})
.catch((error) => {
console.error(error)
})
// COIN HISTORY/EVOLUTION COMPARISON
axios
.get(proxyurl + history_url, {
reqHeaders
})
.then((reponseHistory) => {
//get data from last element
const history = reponseHistory.data.data.history
this.lastItem = history[history.length-1]
// console.log(this.lastItem)
this.lastEvol = this.lastItem.price
// console.log(this.lastEvol)
//get data from previous element:
this.previousItem = history[history.length-2]
this.previousEvol = this.previousItem.price
})
.catch((error) => {
console.error(error)
})
Я, наверное, забыл дать некоторую информацию, так что дайте мне знать и с радостью поделюсь, если смогу
ваше здоровье,