在控制台中获取数据,但在主输出中显示未定义

时间:2019-01-02 14:30:52

标签: javascript api electron axios

我正在使用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);

我在控制台中得到一个输出: 对象:美元:3560.263(比特币的当前价格) 我在主屏幕上得到输出: “未定义”

我认为这是因为它是一个对象,所以如何显示对象? 我可能是错的! 谢谢!!

5 个答案:

答案 0 :(得分:1)

您正在访问字符串的属性

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

我认为您想用+运算符来连接值

price.innerHTML = '$' + cryptos;

答案 1 :(得分:1)

不是

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

添加.USD,因为密码是一个对象。并将值保存到键USD

答案 2 :(得分:1)

尝试使用

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

答案 3 :(得分:1)

您打算使用'$'。cryptos实现什么? ?

如果您要连接一些字符串,这不是它的工作原理! 尝试"$"+cryptos

答案 4 :(得分:1)

在编写字符串时,应仅使用基本类型变量。

如果要显示对象,只需使用JSON.stringify(cryptos)即可获取整个对象的JSON字符串。

否则,您可以打印任何其他原始类型的对象属性,例如cryptos.USD