2017-08-23 65 views
0

我完全不熟悉JavaScript,我有一個問題。如何從request.get

這是我的代碼,它是工作

'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); 

回答

0

聲明一個變量在全球範圍內是這樣的:

var debugBody; 

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

console.log(debugBody); 

編輯:異步功能

這並不會因爲工作request.GET中異步工作,如果你想調用一個函數,你應該有全局定義的函數,並從request.get callba中調用它ck:

var debugBody; 

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

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

該代碼將以這種方式工作。

+0

在您的例子'debugBody'將是'undefined' _always_,因爲'request.get'是異步功能。 – alexmac

+0

但是,這正是我在我的部分寫的方式,我展開我想怎麼做,這不起作用 – Megadavve

+0

哦,謝謝,我沒有注意到它。將上傳一個工作的 –

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); 
}); 
+0

這似乎是正確的方法。謝謝! – Megadavve