Я использую res.send в цикле, чтобы постоянно помещать данные на сайт, извлеченный с другого сайта, но данные на исходном сайте могут измениться, поэтому я хочу, чтобы он также обновлялся на моем сайте, но я не могу перезаписать данные, которые уже отправлены в запросе. (К вашему сведению, веб-сайт, с которого я беру данные, - это Jira, использующий Jira-Search)
function getIssues(givenDir, givenQuery) {
var dir = givenDir
var query = givenQuery;
var search = require('jira-search');
console.log("Getting Issues: " + query);
search({
serverRoot: 'url', // the base URL for the JIRA server
user: 'username', // the user name
pass: 'password', // the password
//jql: 'query"', // the JQL
jql: query,
//maxResults: 10, // the maximum number of results for each request to JIRA, multiple requests will be made till all the matching issues have been collected
onTotal: function (total) {
// optionally initialise a progress bar or something
//console.log("Searching");
},
mapCallback: function (issue) {
// This will be called for each issue matching the search.
// Update a progress bar or something if you want here.
// The return value from this function will be added
// to the array returned by the promise.
// If omitted the default behaviour is to add the whole issue
console.log(issue.key + " " + issue.fields.status.name);
return issue;
}
}).then(function (issues) {
// consume the collected issues array here
//res.send(issues);
console.log("Logging issues to: " + dir);
app.get(dir, function(req, res){res.send(issues)});
index++;
main();
return issues;
}).done();
}