Skip to main content
Domain.prototype.intercept - node__domain.d.ts - Node documentation
method Domain.prototype.intercept

Usage in Deno

```typescript import { Domain } from "node:node__domain.d.ts"; ```
Domain.prototype.intercept<T extends Function>(callback: T): T
This method is almost identical to bind. However, in addition to catching thrown errors, it will also intercept `Error` objects sent as the first argument to the function. In this way, the common `if (err) return callback(err);` pattern can be replaced with a single error handler in a single place. ```js const d = domain.create(); function readSomeFile(filename, cb) { fs.readFile(filename, 'utf8', d.intercept((data) => { // Note, the first argument is never passed to the // callback since it is assumed to be the 'Error' argument // and thus intercepted by the domain. // If this throws, it will also be passed to the domain // so the error-handling logic can be moved to the 'error' // event on the domain instead of being repeated throughout // the program. return cb(null, JSON.parse(data)); })); } d.on('error', (er) => { // An error occurred somewhere. If we throw it now, it will crash the program // with the normal line number and stack message. }); ```

Type Parameters

T extends Function

Parameters

callback: T
The callback function

Return Type

T
The intercepted function