1

ユーザーが連絡先リストを csv 形式でエクスポートできるようにしようとしています。export_connect_csv() 関数の実行方法がわかりません。子プロセスまたはprocess.nextTickに入れる必要がありますか?

function export_connect_csv(user_id, file_location){
      mysqlPool.getConnection(function(err, connection){
        var csv_row = "Email,First Name,Last Name,Status,Created\n";
        function processRow (row) {
          var csv_row = row.email+','+row.first_name+','+row.last_name+','+row.status+','+row.created+"\n";
          fs.appendFile(file_location, csv_row, function (err) {
            if(err){
              throw err;
            }
          });
        }
        fs.appendFile(file_location, csv_row, function (err) {
          if(err){
            throw err;
          }
          var query = connection.query('SELECT * FROM contacts where user_id = "'+user_id+'"');
          query
            .on('error', function(err) {
              //handle error
            })
            .on('fields', function(fields) {

            })
            .on('result', function(row) {
              processRow(row);
            })
            .on('end', function() {
              //email now

              console.log('done');
            });
        });
      });
    }

    var exportContacts = function(req, res){
      var user_id = req.params.user_id || 0;

      export_connect_csv(user_id);
      res.json({});
    };
4

1 に答える 1