Цена API показывает «неопределенный»

#javascript #console.log

#javascript #console.log

Вопрос:

нужна помощь, когда я выполняю эту функцию, получаю «undefined»

 async function getPrice() {
  fetch('https://api.coingecko.com/api/v3/simple/price?ids=yfii-financeamp;vs_currencies=usd')
    .then((response) => {
      return response.json();
    })
    .then((data) => {
      console.log(data.yfii-finance.usd);
      getROI(data.yfii-finance.usd);
    })
    .catch((error) => {
      error("something went wrong with fetch!");
    })
}
  

но когда я перешел на ethereum, он показывает цену

Комментарии:

1. все еще не получил ответа, может быть, я думаю, потому что «-» в имени идентификатора

Ответ №1:

Вы не можете получить доступ к свойству с точкой, если оно содержит тире.

Вы можете получить к нему доступ с помощью обозначения скобок следующим образом:

data['yfii-finance'].usd

Средства доступа к свойствам

Ответ №2:

Вы можете получить значение ответа, установив этот фрагмент в своем коде.

 data["yfii-finance"].usd

async function getPrice() {
  fetch('https://api.coingecko.com/api/v3/simple/price?ids=yfii-financeamp;vs_currencies=usd')
    .then((response) => {
      return response.json();
    })
    .then((data) => {
      if(data['yfii-finance']) {
      console.log(data['yfii-finance'].usd);
      getROI(data['yfii-finance'].usd);
     }
    })
    .catch((error) => {
      error("something went wrong with fetch!");
    })
}