I'm trying to use a promise in my function but it never returns. This is my code: 
function getData(id) {
  return new Promise(function(resolve, reject) {
      DbUtil.connection.query("my query... ", [id],
        function (error, results, fields) {
            if (error) {
              reject(error);
            } else {
              resolve(results);
            }
          }
        );
    }) 
}
The query works and I can see its results in the else block. But the function itself doesn't return. I tried adding a return statement after the resolve, and also after the Promise function itself. But it still doesn't return. 
What am I missing?
EDIT: how do I know the function doesn't return? Because
function main() {
    var data = getData(1);
    console.log("data returned? " + data); 
}
in the above main function the log statement is never called.
 
    