节点JS请求 - 如何使响应主体可用于所有其他JS

时间:2018-03-28 13:26:28

标签: node.js request

请参阅以下代码以调用Web服务。响应可在' body'中找到。在回调中。

对于我的应用程序,我想要调用一次Web服务并使用相同的' body' json在多个JS文件中。如何实现这一目标?

var req = request(host, options,(error, response, body) => {
if(error!=null)
{
console.log(error);
}
console.log(body);
});

2 个答案:

答案 0 :(得分:0)

您可能希望创建一个全局变量,并在可用时将body的值分配给全局变量。

例如:

var globalBody = null;
var req = request(host, options,(error, response, body) => { 
if(error!=null) 
{ 
console.log(error); 
} 
globalBody = body;
console.log(body); 
});
// Now you have the globalBody available to use anywhere.

答案 1 :(得分:0)

您可以尝试承诺功能

var globalBodyResponse = new Promise(function(resolve, reject) {   
     resolve(globalBody);   
});
var req = request(host, options,(error, response, body) => {
    if(error) {
     console.log(error);
    }
    globalBody = body;
});

// somewhere else in your application
globalBodyResponse.then(function(result) {   
  console.log(result); });