我正在尝试使用Node JS获取API数据。我正在使用此节点包来执行此操作。
https://www.npmjs.com/package/cryptocompare
该软件包的文档很简单。
global.fetch = require('node-fetch')
const cc = require('cryptocompare')
cc.price('BTC', ['USD', 'EUR'])
.then(prices => {
console.log(prices)
})
.catch(console.error)
我已经使用npm.runkit.com对其进行了测试,但它确实有效。
但是,当我将软件包安装到我的应用程序中时,我在控制台中看不到任何输出。
我正在使用JetBrains WebStorm,这些是我采取的步骤。
然后在/routes/index.js
内添加了以下内容
var express = require('express');
var router = express.Router();
global.fetch = require('node-fetch');
const cc = require('cryptocompare');
/* GET home page. */
cc.price('BTC', ['USD'])
.then(prices => {
console.log(prices)
}).catch(console.error);
router.get('/', function(req, res, next) {
res.render('index', {
title: 'Example'
});
});
module.exports = router;
但是在控制台日志中没有显示任何内容。我尝试将global.fetch
移动到根目录中的app.js
,但这也没有做任何事情。
我在这里做错了什么?
答案 0 :(得分:2)
var express = require('express');
var router = express.Router();
global.fetch = require('node-fetch');
const cc = require('cryptocompare');
/* GET home page. */
router.get('/', function(req, res, next) {
cc.price('BTC', ['USD'])
.then(prices => {
res.render('index', {
title: prices
});
}).catch(console.error);
});
module.exports = router;
这对你有用
答案 1 :(得分:1)
不确定为什么你没有得到任何东西。我尝试了相同的步骤并得到了结果。
我只是做了一件不同的事情,我将整个代码粘贴到一个名为 abc.js 的文件中。
然后我在命令行中运行它,就像这样
节点abc.js
我得到了这个结果
{USD:2797.06}
请你再试一次,因为它对我来说很棒。如果您遇到任何问题,请告诉我。
继续...
因此,如果您想在index.js中使用它,那么您可以执行类似这样的操作
cc.price('BTC', ['USD'])
.then(function(prices){
console.log(prices)
}).catch(function(error){
console.log(error);
});
我刚将其syntex从es6更改为es5