0
0
NodejsHow-ToBeginner · 3 min read

How to Use Error First Callback in Node.js: Simple Guide

In Node.js, an error first callback is a function where the first argument is an error object (or null if no error) and the second is the result. You call this callback after an asynchronous operation to handle errors first and then process the result.
📐

Syntax

The error first callback pattern uses a function with two main parameters: error and result. The error parameter is checked first to see if something went wrong. If error is null, the operation succeeded and you can use the result.

Typical syntax:

function callback(error, result) {
  if (error) {
    // handle error
  } else {
    // use result
  }
}
javascript
function callback(error, result) {
  if (error) {
    // handle error
  } else {
    // use result
  }
}
💻

Example

This example shows a simple asynchronous function that reads a file and uses an error first callback to handle success or failure.

javascript
import { readFile } from 'fs';

function readMyFile(path, callback) {
  readFile(path, 'utf8', (error, data) => {
    if (error) {
      callback(error, null); // pass error first
    } else {
      callback(null, data); // no error, pass data
    }
  });
}

readMyFile('example.txt', (error, content) => {
  if (error) {
    console.error('Error reading file:', error.message);
  } else {
    console.log('File content:', content);
  }
});
Output
Error reading file: ENOENT: no such file or directory, open 'example.txt' // or if file exists: File content: (file contents here)
⚠️

Common Pitfalls

Common mistakes include:

  • Not checking the error parameter first, which can cause your code to crash if an error occurs.
  • Passing the wrong order of arguments to the callback (error must be first).
  • Ignoring the error parameter entirely, which hides problems.

Always check error before using result.

javascript
import { readFile } from 'fs';

// Wrong: ignoring error
readFile('file.txt', 'utf8', (error, data) => {
  console.log(data); // crashes if error
});

// Right: check error first
readFile('file.txt', 'utf8', (error, data) => {
  if (error) {
    console.error('Failed:', error.message);
  } else {
    console.log(data);
  }
});
📊

Quick Reference

Error First Callback Tips:

  • First argument is always the error or null.
  • Second argument is the successful result.
  • Always check if error exists before using the result.
  • Use this pattern for consistent asynchronous error handling.

Key Takeaways

Error first callbacks always receive error as the first argument and result as the second.
Always check if error is not null before processing the result.
Passing arguments in the wrong order breaks the pattern and causes bugs.
Ignoring the error parameter can hide important problems in your code.
This pattern helps keep asynchronous code clear and consistent.