[英]node.js - making result available globally (Request module)
我正在嘗試處理從請求返回的JSON結果,因此我需要在此請求調用之外擴展其范圍。 為此,我用一個空字符串聲明了data
變量,並將結果分配給此data
但它不顯示結果。
我該怎么做?
module.exports = function(callback) {
var request = require("request")
var url = "http://sheetsu.com/apis/94dc0db4"
var data = "";
request({
url: url,
json: true
}, function (error, response, body) {
if (!error && response.statusCode === 200) {
callback(body)
data = body;
}
})
console.log(data);
}
這是經典的異步混淆:您的console.log
調用將發生在http請求回調之前。
您的腳本按以下順序執行:
request()
被執行 console.log(data)
request()
回調函數,在其中為data
賦值 如果要打印data
,則必須在請求回調函數中進行處理。 異步模塊在執行異步任務時非常有用,特別是在您需要按特定順序執行任務並使用此請求中的數據時。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.