You can use a counter in the http.get callback and call it using "bind" to preserve your data in each call.
var file = e.dataTransfer.files[i].path;
content = fs.readFileSync(file, "UTF-8");
var lines = content.split("\n");
var counter = 0;
var callback = function(res, req) {
console.log(req);
if(res.statusCode == 200){
el.className = '';
el.innerHTML = this[0] + ':' + this[1] + '\n';
}
counter++;
if(counter == lines.length) {
//do whatever you wanna do after all calls
}
};
for (var n = 0; n < lines.length; n++){
var arr = lines[n].split(":");
http.get({
host: arr[0],
port: arr[1],
path: "http://www.google.fr",
agent: false
}, callback.bind(arr));
}