Node Function Running Twice

I am using a simple JS script to query a Postgres DB. I simply want to write a simple query to the webpage, but every time I think I’m calling the function, it calls twice

// query the db
rate = () => pool
    .query(rateQuery)
    .then(res => {return res.rows[0]})
    .catch(err => console.log('error: ', err.stack))

const app = http.createServer((request, response) => {
    // set response header
    response.writeHead(200, { 'Content-Type': 'text/html' });

    // get result of promise
    r = rate()
        .then(res => response.write(JSON.stringify(res), () => {console.log("DONE"); response.end()}))
        .catch(err => console.log('error: ', err.stack))
  });

  app.listen(3000);

When the page is refreshed, it prints DONE twice but I only want it once, any help is much appreciated – thanks.