lifecycle-utils
    Preparing search index...

    Class AsyncDisposeAggregator

    AsyncDisposeAggregator is a utility class that allows you to add multiple items and then dispose them all at once. The items are disposed one by one in the order they were added. When the parallel option is enabled, then all the items are disposed in parallel, triggered by the order in which they were added. You can add a function to call, an object with a dispose method, an object with a Symbol.dispose method, an object with a Symbol.asyncDispose method, or a Promise that resolves to one of the previous types. To dispose all the items, call dispose or use the Symbol.asyncDispose symbol. The difference between AsyncDisposeAggregator and DisposeAggregator is that AsyncDisposeAggregator can dispose async targets.

    For example,

    import {AsyncDisposeAggregator, EventRelay} from "lifecycle-utils";

    const disposeAggregator = new AsyncDisposeAggregator();

    const eventRelay = new EventRelay<string>();
    disposeAggregator.add(eventRelay);

    disposeAggregator.add(async () => {
    await new Promise(resolve => setTimeout(resolve, 0));
    // do some async work
    });

    disposeAggregator.dispose();
    Index

    Constructors

    Accessors

    Methods

    Constructors

    Accessors

    Methods

    • Disposes all the targets that have been added and clears the list of targets.

      After all the targets have been disposed, if any throws an error or rejects, then the error from the first such target will be thrown.

      Returns Promise<void>