Ближайшая проблема, которую я нашел для себя, - here. Я считаю, что получаю эту ошибку от того, как настроены мои вызовы .end(). Вот код, мы работаем с:Node.js - Не удается отправить заголовки после их отправки
app.get('/anihome',function(req,res){
var context = {};
function renderPage(context) {
res.render('anihome',context);
}
function addRequestToPage(text) {
context.data = text.toString('utf8');
context.info = JSON.parse(text);
return context;
}
function addAnimeToPage(text) {
context.anime = JSON.parse(text);
return context;
}
function addAnimeRequest(context) {
var options2 = {
host: 'anilist.co',
path: '/api/anime/20631?access_token=' + context.info.access_token,
method: 'GET'
};
https.request(options2, function(restRes) {
restRes.on('data',function(jsonResult) {
//context.anime = JSON.parse(jsonResult);
//console.log(JSON.parse(jsonResult));
console.log(context);
renderPage(context);
});
}).end();
}
function addHeaderRequest(context) {
var options = {
host: 'anilist.co',
path: '/api/auth/access_token?grant_type=client_credentials&client_id='
+ clientID + '&client_secret=' + secretKey,
method: 'POST'
};
https.request(options, function(restRes) {
restRes.on('data', function(jsonResult) {
context = addRequestToPage(jsonResult);
addAnimeRequest(context);
});
}).end();
}
addHeaderRequest(context);
});
Я попытался установить одну из .end()
с с обратным вызовом, .end(addAnimeRequest(context));
, который оставляет меня с сокетом вешают ошибку, так что предположительно что-то в моей функции addAnimeRequest занимает слишком много времени?
Есть ли лучший способ сделать несколько запросов на один и тот же сайт с различными параметрами? Я довольно новичок в Node.js.