簡體   English   中英

在控制台中獲取數據,但在主輸出中顯示未定義

[英]Getting data in console but shows undefined in main output

我正在使用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(比特幣的當前價格)我在主屏幕上得到輸出:'undefined'

我認為這是因為它是一個對象,所以如何顯示對象? 我可能是錯的! 謝謝!!

您正在訪問字符串的屬性

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

我認為您想使用+運算符連接值

price.innerHTML = '$' + cryptos;

不是

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

添加.USD因為加密貨幣是對象。 並將值保存到密鑰USD

嘗試使用

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

你想用'$'。cryptos實現什么?

如果您要連接一些字符串,這不是它的工作原理! 嘗試"$"+cryptos

組成字符串時,應僅使用基本類型變量。

如果要顯示一個對象,則可以簡單地使用JSON.stringify(cryptos)獲得整個對象的JSON字符串。

否則,您可以打印任何其他原始類型的對象屬性,例如cryptos.USD

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM