Skip to content

Initial Release

Compare
Choose a tag to compare
@ori88c ori88c released this 05 Oct 22:29
· 1 commit to main since this release

Key Features ✨

  • 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.
  • ES2020 Compatibility.
  • TypeScript support.