簡體   English   中英

使用Node JS獲取API數據

[英]Fetching API data with Node JS

我正在嘗試使用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,這些是我采取的步驟。

  1. 創建新的Express App
  2. npm install -g express-generator
  3. npm install --save node-fetch
  4. npm install --save cryptocompare
  5. npm安裝

然后在/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 ,但也沒有做任何事情。

我在這做錯了什么?

    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;

這對你有用

不知道你為什么沒有得到任何東西。 我嘗試了相同的步驟並得到了結果。

我只是了一件事,我把整個代碼粘貼在一個名為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

暫無
暫無

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

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