Async/Await di Node.js — Node.js

Node.js bersifat asynchronous — operasi I/O tidak memblokir eksekusi. Callback (cara lama): fs.readFile("data.txt", (err, data) => { if (err) throw err…

Node.js bersifat asynchronous — operasi I/O tidak memblokir eksekusi.

Callback (cara lama):

fs.readFile("data.txt", (err, data) => {
  if (err) throw err;
  console.log(data);
});

Promise (cara lebih baik):

fs.promises.readFile("data.txt")
  .then(data => console.log(data))
  .catch(err => console.error(err));

Async/Await (cara terbaik):

async function bacaFile() {
  try {
    const data = await fs.promises.readFile("data.txt");
    console.log(data);
  } catch (err) {
    console.error(err);
  }
}

Di Express:

app.get("/users", async (req, res) => {
  try {
    const users = await db.query("SELECT * FROM users");
    res.json(users);
  } catch (err) {
    res.status(500).json({ error: "Database error" });
  }
});

Parallel execution:

const [users, posts] = await Promise.all([
  db.query("SELECT * FROM users"),
  db.query("SELECT * FROM posts"),
]);
// Kedua query berjalan bersamaan!

Yang akan kamu pelajari