Это упрощение модуля в nodejs, над которым я работаю.
Я знаю, что функция, отправленная в качестве второго параметра запроса, является асинхронной. Но я не могу понять, как я могу получить доступ к этим данным.
По сути, мне нужно извлечь какой-нибудь внешний файл json, надеюсь, только один раз, когда сервер запустится (и я вызываю функцию requestJson), и использовать эти данные для обновления глобального модуля json_data. Этими json_data будут данные, к которым обращается API (apicall1 и apicall2, соответствующие getSomeJSONData1 и getSomeJSONData2)
var json_data = []; // <-- here I want to put the json data
var requestJson = function() {
request({
url: "example.com/somejson.json",
json: true
}, function(error, response, body) {
if (!error && response.statusCode === 200) {
//here I have access to the json content
// how I can do to use the body content
// and put it on json_data
}
});
}
var getSomeJSONData1 = function() {
return json_data[0];
};
var getSomeJSONData2 = function() {
return json_data[1];
};
exports.apicall1 = getSomeJSONData1;
exports.apicall2 = getSomeJSONData2;
как я мог это сделать?