A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developers.cloudflare.com/workers/runtime-apis/nodejs/eventemitter/ below:

EventEmitter · Cloudflare Workers docs

Note

To enable built-in Node.js APIs and polyfills, add the nodejs_compat compatibility flag to your Wrangler configuration file. This also enables nodejs_compat_v2 as long as your compatibility date is 2024-09-23 or later. Learn more about the Node.js compatibility flag and v2.

An EventEmitter ↗ is an object that emits named events that cause listeners to be called.

import { EventEmitter } from 'node:events';

const emitter = new EventEmitter();

emitter.on('hello', (...args) => {

console.log(...args); // 1 2 3

});

emitter.emit('hello', 1, 2, 3);

The implementation in the Workers runtime supports the entire Node.js EventEmitter API. This includes the captureRejections ↗ option that allows improved handling of async functions as event handlers:

const emitter = new EventEmitter({ captureRejections: true });

emitter.on('hello', async (...args) => {

throw new Error('boom');

});

emitter.on('error', (err) => {

// the async promise rejection is emitted here!

});

Like Node.js, when an 'error' event is emitted on an EventEmitter and there is no listener for it, the error will be immediately thrown. However, in Node.js it is possible to add a handler on the process object for the 'uncaughtException' event to catch globally uncaught exceptions. The 'uncaughtException' event, however, is currently not implemented in the Workers runtime. It is strongly recommended to always add an 'error' listener to any EventEmitter instance.

Refer to the Node.js documentation for EventEmitter ↗ for more information.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4