【发布时间】:2018-06-26 03:56:27
【问题描述】:
出于测试目的,我想在服务器创建后立即调用一个方法(执行 GET 请求)。我有以下代码。
var rp = require('request-promise');
var http = require('http');
var URLSplunk = MY_URL
var headersSplunk = {
'Authorization': 'Bearer MY_AUTH',
'Cache-Control': 'no-cache',
'X-Requested-By': 'BABEL_FISH',
'client': 'slack'
};
function testSplunk(){
var optionsSplunk = {
url: URLSplunk,
headers: headersSplunk,
json: true
};
rp(optionsSplunk)
.then(function (resultReply) {
console.log("Splunk GET success")
console.log(resultReply)
})
.catch(function (error) {
console.log(`Error: \n${error}`);
});
}
http.createServer(function (request, response) {
testSplunk()
}).listen(3000);
console.log('Server started');
我期待看到 GET 结果或错误,但我只看到“Server started”消息。
我错过了什么?
【问题讨论】:
-
试着把 testSplunk();在创建服务器功能之后。
-
你现在拥有代码的方式,你的
testSplunk()函数只会在你的http服务器收到请求时被调用。它在 http 服务器 requestListener 回调中。因此,您必须向 http 服务器发送一个请求以触发该回调,以便调用testSplunk()函数。目前尚不清楚您是否希望它以这种方式工作,但这就是您当前的代码将要做的事情。 -
@Philip556677 谢谢它的工作。如果您将其作为答案,我会将其标记为答案。
标签: node.js httprequest