You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Modern Substitute for Javascript's 'setTimeout': Specifically designed for scheduling asynchronous tasks, i.e., callbacks that return a Promise.
Execution Status Getters: Allows users to check the task's execution status, helping to prevent potential race conditions.
Graceful and Deterministic Termination: The awaitCompletionOfAllCurrentlyExecutingTasks method resolves once all the currently executing tasks complete, or resolves immediately if the task is not executing. The awaitTaskCompletion method allows you to wait for the completion of a specific task, uniquely identified by its key.
Robust Error Handling: If a task throws an uncaught error, the error is captured and accessible via the extractUncaughtErrors method.
Comprehensive Documentation 📚: The class is thoroughly documented, enabling IDEs to provide helpful tooltips that enhance the coding experience.
Metrics 📊: The class offers various metrics through getter methods, providing insights into the scheduler's current state.
Fully Tested 🧪: Extensively covered by unit tests.
No External Runtime Dependencies: This component provides a lightweight, dependency-free solution. Only development dependencies are used, for testing purpose.
Non-Durable Scheduling: Scheduling stops if the application crashes or goes down.