节点脚本必须调用URL,并获取响应并使用响应的某个变量来调用下一个URL。有可能吗?
在下面的示例中,我在其他脚本中使用令牌。
var http = require('http');
var options = {
host: 'url' ,
path: '/path',
method: 'POST'
};
var req = http.request(options, function(res) {
token="hi"; // to be populated by res
});
req.end();
exports.token = token
答案 0 :(得分:0)
我认为你试图在它存在之前导出token
。当您分配token = "hi"
时,在之后发生http请求完成并获得响应。你要做的是export
一个带回调的函数,它从网址返回你的数据。
var http = require('http');
var options = {
host: 'url' ,
path: '/path',
method: 'POST'
};
exports.getToken = function (callback) {
http.request(options, function(res) {
callback(res);
});
};
然后在你的另一个模块中,你必须调用getToken
函数传递一个回调函数。
//I assume the above file is called tokenFinder.js
var tokenFinder = require('./tokenFinder');
var token;
tokenFinder.getToken(function (data) {
token = data;
});