我正在开发一个电子应用程序,我正在使用cryptocompare api显示BTC价格,但没有显示。我尝试了所有我能想到的解决方案,希望能得到一些帮助!
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(){
const cryptos = axios.get('https://min-api.cryptocompare.com/data/price?fsym=BTC&tsyms=USD&api_key={api_key}')
price.innerHTML = '$'+cryptos
}
getBTC();
setInterval(getBTC, 20000);
它给我的输出是'$ [object Promise]'
答案 0 :(得分:0)
在axios文档中,它说您需要这样做:
axios.get(url)
.then(function (response) {
// do something with response
});
这是因为axios.get
返回的值不是响应,而是一个可以解决响应的承诺。 (因此它被强制为字符串[object Promise]
。)如果您不知道这是什么意思,请阅读this link。基本上,promise是一种处理需要长时间运行的任务(例如api调用)而又不会阻止其他javascript代码运行的方法。但是无论如何,你想要的是这个
function getBTC(){
axios.get('https://min-api.cryptocompare.com/data/price?fsym=BTC&tsyms=USD&api_key={api_key}')
.then(function(response) {
var data = response.data;
var cryptos = // get cryptos from data somehow
price.innerHTML = '$'+cryptos;
});
}
我还没有详细阅读axios文档。我相信您正在寻找的是response.data
,但我不能不告诉您更多。尝试console.log('Response:', response);
来了解响应的结构。