首页 > 解决方案 > 如何在浏览器中显示 API?如何将该请求承诺代码迁移到节点获取代码中?

问题描述

我正在从 Coinmarketcap API 请求数据,我知道如何在终端上显示它,但我不知道如何在浏览器上显示它,我该怎么做?

这是我的代码:

const rp = require('request-promise');
const requestOptions = {
  method: 'GET',
  uri: 'https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest',
  qs: {
    'start': '1',
    'limit': '1',
    'convert': 'USD'
  },
  headers: {
    'X-CMC_PRO_API_KEY': 'b54bcf4d-1bca-4e8e-9a24-22ff2c3d462c' // it isn't my real api key
  },
  json: true,
  gzip: true
};

rp(requestOptions).then(response => {
  console.log('API call response:', response.data[0].quote.USD.price);
}).catch((err) => {
  console.log('API call error:', err.message);
});

我不知道如何将该请求承诺代码迁移到节点获取代码中,我该怎么做?

标签: node.jsapifetch

解决方案


假设您使用的是 Express JS,请尝试以下代码:

要安装 node-fetch 使用以下命令:

npm install --save node-fetch

然后使用以下代码:

const express = require('express');
const app = express();
const fetch = require('node-fetch');
app.get('/', function(req, res, next) 
{
    var url ='https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest';
    var headers = 
    {
        "Content-Type": "application/json",
        "X-CMC_PRO_API_KEY": "b54bcf4d-1bca-4e8e-9a24-22ff2c3d462c"
    }
    var data = 
    {
        'start': '1',
        'limit': '1',
        'convert': 'USD'
    }
    fetch(url, { method: 'GET', headers: headers, body: data})
    .then((result) => 
    {
        return result.json();
    })
    .then((json) => 
    {
        res.send(json);   
    });
}

推荐阅读