nodejs serialport write issues?

I am using the nodejs serialport module (https://npmjs.org/package/serialport) and I am having issues when I write to the serial port.

If I simply write to the port as shown below, the serial device never gets the command.

var serialport = require("serialport");
var sp = new serialport.SerialPort(serialPortPath);
sp.write("SYST:ADDR?\n");

However, if I use a setTimeout as shown below, then it seems to work?

var serialport = require("serialport");
var sp = new serialport.SerialPort(serialPortPath);
setTimeout(function(){sp.write("SYST:ADDR?\n")},1000);

FYI, the "serialPortPath" is set elsewhere in the code.

I am not sure what is going on... any ideas?

I think I got it figured out from the github (https://github.com/voodootikigod/node-serialport page... basically it looks like I was missing the "open" event as shown below:

serialPort.on("open", function () {
  console.log("open");
  serialPort.on("data", function(data) {
    console.log("data received: " + data);
  });  
  serialPort.write("SYST:ADDR?\n", function(err, results) {
    console.log("err: " + err);
    console.log("results: " + results);
  });  
});