Hacker News new | ask | show | jobs
by kriz9 1095 days ago
Using libraries we already don't have to write cleanup code. What does the new keyword add that we can't already do? https://node-postgres.com/apis/pool#poolquery
1 comments

From what I can tell from that documentation, you do still have to remember to call `client.release()`. There's even a big warning saying "You must release a client when you are finished with it."

Presumably you would want to wrap that in a try/finally so that you don't accidentally not release the client if there is an exception.

You would go from:

  const client = await pool.connect()
  try {
    // Do stuff. Possibly throw.
  } finally {
    client.release()
  }
to

  await using client = pool.connect()
  // Do stuff. Possibly throw.
I linked the wrong example. This is the one without having to specifically call release. https://node-postgres.com/apis/pool#poolquery