Iniciante Fundamentos

Callbacks

Um callback é uma função passada como argumento para outra função, para ser executada depois que uma tarefa terminar. É a base da programação assíncrona no Node.js.

Exemplo simples

function processar(valor, callback) {
  const resultado = valor * 2;
  callback(resultado);
}

processar(5, (res) => {
  console.log(res); // 10
});

Error-first callback

No Node.js existe uma convenção: o primeiro parâmetro do callback é o erro. Se não houver erro, ele vem como null.

const fs = require("fs");

fs.readFile("dados.txt", "utf8", (erro, conteudo) => {
  if (erro) {
    console.error("Deu erro:", erro.message);
    return;
  }
  console.log(conteudo);
});

Por que verificar o erro primeiro

Sempre trate o erro antes de usar o resultado. Ignorar o erro pode causar falhas difíceis de encontrar.

Callback hell

Muitos callbacks aninhados deixam o código confuso. Por isso surgiram as Promises e o async/await, que veremos a seguir.

ler(a, () => {
  ler(b, () => {
    ler(c, () => {
      // difícil de ler
    });
  });
});