I don't even know how to properly ask this question but I have concerns about the performance (mostly memory consumption) of the following code. I am anticipating that this code will consume a lot of memory because of map on a large set and a lot of 'hanging' functions that wait for external service. Are my concerns justified here? What would be a better approach?
var list = fs.readFileSync('./mailinglist.txt') // say 1.000.000 records
  .split("\n")
  .map( processEntry );
var processEntry = function _processEntry(i){
  i = i.split('\t');
  getEmailBody( function(emailBody, name){
      var msg = {
      "message" :  emailBody,
      "name" : i[0]
      }
      request(msg, function reqCb(err, result){
        ...
      });
  }); // getEmailBody
}
var getEmailBody = function _getEmailBody(obj, cb){
// read email template from file; 
// v() returns the correct form for person's name with web-based service
  v(obj.name, function(v){
    cb(obj, v)
  });
}
 
     
    