最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

在NodeJS中使用http.get存储变量值?

运维笔记admin12浏览0评论

在NodeJS中使用http.get存储变量值?

在NodeJS中使用http.get存储变量值?

我在将值分配给btcprice时遇到问题,当我尝试在http.get输出undefined之后记录变量时。我知道http.get是异步发生的,但不知道该怎么做才能解决这个问题。任何帮助都会很棒!谢谢。

const http = require('http');
var btcprice;
// request api
http.get(
{
host: 'api.coindesk',
path: '/v1/bpi/currentprice.json'
},
function(response){
  // get data
  let body = '';
  response.on('data', function(d) { body += d; });
  response.on('end', function() {
  // manipulate received data
  let parsed = JSON.parse(body);
  btcprice = parsed.bpi.USD.rate;
  });
})
回答如下:

我根据你的解释创建了一个例子。您可以看到btcprice仅在完全接收响应之前被重新分配,之后btcprice将具有默认值undefined

const http = require('http');
let btcprice;

// request api
http.get({
  host: 'api.coindesk',
  path: '/v1/bpi/currentprice.json'
}, (response) => {
  // get data
  let body = '';
  response.on('data', function(d) {
    body += d;
  });
  response.on('end', function() {
    // manipulate received data
    let parsed = JSON.parse(body);
    btcprice = parsed.bpi.USD.rate;
    console.log(btcprice); // btcprice will now have an value
  });
})

console.log(btcprice); // btcprice will be "undefined" since the response isn't already available
发布评论

评论列表(0)

  1. 暂无评论