gpt4 book ai didi

javascript - 如何从 Node.js 中的 REST API 导出 GET 响应?

转载 作者:行者123 更新时间:2023-12-01 02:27:18 25 4
gpt4 key购买 nike

下面是 getresponse.js 的代码

var https = require('https');  

function httpGet(callback){
var body = "";
var issueDesc = [];

var options = {
hostname:'<hostname>'
port:443,
path:'/rest/api/2/search?jql=project=X',
method:'GET',
headers: {
'Authorization':'Basic '+ new Buffer("xxxxx"+':'+"xxxxxx").toString('base64'),
'Content-Type':'application/json',
}
};


https.get(options, function(res, callback) {


res.on('data', function(data) {
body += data;
});
res.on('end', function(callback) {
Response = JSON.parse(body);

var i=Response.total;
for(j=0;j<i;j++){

issueDesc.push(Response.issues[j].key +": "+Response.issues[j].fields.summary +"\n");
}

issueDesc = issueDesc.join("");
callback(issueDesc);
});
});
};

module.exports.httpGet = httpGet;

下面是我的 app.js 代码( Controller 文件)

var getissue = require('./getresponse.js');
getissue.httpGet(function(response) {
console.log(response);
// ....

});

我想访问 app.js 中的issueDesc,但我收到错误,因为回调不是函数

我是否必须通过 module.exportsissueDesc 作为全局变量发送?

最佳答案

getresponse.js 文件

module.exports = {
httpGet: () => {
var https = require('https');
return new Promise((resolve, reject) => {
var body = "";
var issueDesc = [];
var options = {
hostname: '<hostname>'
port: 443,
path: '/rest/api/2/search?jql=project=X',
method: 'GET',
headers: {
'Authorization': 'Basic ' + new Buffer("xxxxx" + ':' + "xxxxxx").toString('base64'),
'Content-Type': 'application/json',
}
};
https.get(options, function (res) {
res.on('data', function (data) {
body += data;
});
res.on('end', function () {
var response = JSON.parse(body);
var i = response.total;
for (j = 0; j < i; j++) {
issueDesc.push(response.issues[j].key + ": " + response.issues[j].fields.summary + "\n");
}
issueDesc = issueDesc.join("");
resolve(issueDesc);
});
res.on('error', (err) => {
reject(err);
})
});
});
}
}

app.js

var getissue = require('./getresponse.js');
getissue.httpGet()
.then(response => {
console.log('your response', response);
}).catch(err => {
console.error('error', err);
});

您将在“then” block 中收到响应。

关于javascript - 如何从 Node.js 中的 REST API 导出 GET 响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48641262/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com