Получение данных в консоли, но в главном выводе отображается undefined - PullRequest
0 голосов
/ 02 января 2019

Я работаю над приложением с электроном, использующим axios для получения данных API, но когда я использую его для отображения данных, на экране отображается неопределенное значение, а при выводе - правильное значение !! Была бы признательна за помощь!

const electron = require('electron');
const path = require('path');
const BrowserWindow = electron.remote.BrowserWindow;
const axios = require('axios');

const notifyBtn = document.querySelector('.notify-btn');
const price = document.querySelector('.price');
const targetPrice = document.querySelector('.target-price');

function  getBTC(){
  axios.get('https://min-api.cryptocompare.com/data/price?fsym=BTC&tsyms=USD&api_key={api_key}')
        .then(function(response) {
            let cryptos = response.data;
            price.innerHTML = '$'+cryptos;
            console.log(response.data);
        });
}

getBTC();
setInterval(getBTC, 30000);

Я получаю вывод в консоли: Объект: USD: 3560.263 (Текущая цена биткойна) Я получаю вывод на главном экране: 'Не определено'

Я думаю, потому что это объект, так как я могу отобразить объект? Я могу ошибаться !! ThankYou !!

Ответы [ 5 ]

0 голосов
/ 02 января 2019

При составлении строки следует использовать только переменные примитивного типа.

Если вы хотите показать объект, вы можете просто использовать JSON.stringify(cryptos) для получения строки JSON всейobject.

В противном случае вы можете напечатать любое другое свойство объекта, являющееся примитивным типом, например cryptos.USD.

0 голосов
/ 02 января 2019

Чего вы пытаетесь достичь с помощью '$'. Cryptos;?

Если вы пытаетесь объединить некоторые строки, это не так!попробуйте "$"+cryptos

0 голосов
/ 02 января 2019

Это не

price.innerHTML = '$'.cryptos;
// but
price.innerHTML = '$' + cryptos.USD;

Добавить .USD, потому что cryptos - это объект.И значение сохраняется в ключе USD

0 голосов
/ 02 января 2019

попробуйте использовать

price.innerHTML = '$'+cryptos.USD;
0 голосов
/ 02 января 2019

Вы получаете доступ к свойству строки.

price.innerHTML = '$'.cryptos;
                       ^^^ property

Я думаю, что вы хотите объединить значения с оператором +

price.innerHTML = '$' + cryptos;
...