скрипт выполняется дважды - игла
Итак, я заметил, что следующий код выполняется дважды - или, по крайней мере, это то, что показывает console.logs
test0
AdSys Stream END
get POdcast ran
get dsata connected!
63062853
test0
AdSys Stream END
get POdcast ran
get dsata connected!
63062853
вот код, мне интересно, всегда ли у иглы была эта проблема?
router.get('/track/:url(*)', (req, res) =>{
var url = req.params.url.substr(0);
var length = 0;
var clients = [];
var e = 0;
/* AD SYS */
var remote = "https://storage.googleapis.com/ad-system/testfolder/OUTOFAREA.mp3";
var adsys = needle.get(remote)
/* PODCAST */
var filesize = needle.get(url, function(error, response, body) {
if(error){
e = 505;
res.send("<html><head></head><body>NOPE</body></html>");
console.log(error)
//filesize.end();
res.end();
}
});
console.log('test'+e);
filesize.on('response', function(res) {
console.error("get dsata connected!");
console.log(res.headers['content-length']);
a = Number(res.headers['content-length']);
length = length+a;
});
adsys.on("end", function() {
if(e == 0){
console.error("AdSys Stream END");
getPodcast();
e++
}
//res.end();
});
adsys.on("data", function (chunk) {
// console.log(clients.length);
if (clients.length > 0){
for (client in clients){
clients[client].write(chunk);
//console.log(chunk);
};
}
});
function getPodcast(){
console.log("get POdcast ran");
filesize.on("data", function (chunk) {
// console.log(clients.length);
if (clients.length > 0){
for (client in clients){
clients[client].write(chunk);
//console.log(chunk);
};
}
});
}
clients.push(res);
});