如何从request.get获取body中的信息到全局scoop

时间:2017-08-23 18:58:00

标签: javascript node.js

我是JavaScript新手,我遇到了问题。

这是我的代码,它正在运作

'use strict';

const request = require("request")
const url = "https://something/v1/"

request.get(
  `${url}/tickers?symbols=tBTCUSD`,
    (error, response, body) => console.log(body)
    )

所以这会在屏幕上写下预期的数据。 所以我有数据,我只是不想把它放在我的屏幕上,我想处理它。 但是如何从request.get函数中获取数据?

像这样的东西

'use strict';

const request = require("request")
const url = "https://something/v1/"

let global_answer

request.get(
  `${url}/tickers?symbols=tBTCUSD`,
    (error, response, body) => {
        console.log(body)
        global_answer = body;
})

my_function(global_answer);

2 个答案:

答案 0 :(得分:0)

在全局范围内声明一个变量,如下所示:

var debugBody;

request.get(
    `${url}/tickers?symbols=tBTCUSD`,
    (error, response, body) => {
        debugBody = body;
        console.log(body)
});

console.log(debugBody);

编辑:异步功能

这不会起作用,因为request.get是异步工作的,如果你想调用一个函数,你应该全局定义函数并从request.get回调中调用它:

var debugBody;

function logRequestBody(body){
    console.log(body);
}

request.get(
    `${url}/tickers?symbols=tBTCUSD`,
    (error, response, body) => {
        logRequestBody(body);
});

代码将以这种方式工作。

答案 1 :(得分:0)

更像这样的事情:

'use strict';

const request = require("request");
const url = "${url}/tickers?symbols=tBTCUSD";

request.get(url, (error, response, body) => {
  console.log(body);
  my_function(body);
});