Class UnhandledRejectionTracker


  • public class UnhandledRejectionTracker
    extends java.lang.Object
    This class is responsible for handling tracking of unhandled Promise rejections. These come up when a Promise is either rejected or an exception is thrown and there is no "catch" handler set up. There is one of these tracker objects for each Context class.

    Different frameworks will choose different ways to handle unhandled rejections. As a result, Rhino does nothing by default.

    However, if "trackUnhandledPromiseRejections" is called on the Context object, then Rhino will track them in this object. It is the responsibility of the product embedding Rhino to periodically check for unhandled rejections in this class and either remove them or terminate the script and allow the context and its tracker to be garbage- collected.

    Note that if "trackUnhandledPromiseRejections" is set, and rejections are not handled, then Promise objects will accumulate in this object and cause a memory leak.

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.List<java.lang.Object> enumerate()
      Return a collection of all of the results of any unhandled rejected promises.
      void process​(java.util.function.Consumer<java.lang.Object> handler)
      Iterate through all the rejected promises that have not yet been handled.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • UnhandledRejectionTracker

        public UnhandledRejectionTracker()
    • Method Detail

      • process

        public void process​(java.util.function.Consumer<java.lang.Object> handler)
        Iterate through all the rejected promises that have not yet been handled. As each promise is handled by this method, it is removed from this tracker and will not appear again. This is useful for delivering unhandled promise notifications to users one time via a callback.
      • enumerate

        public java.util.List<java.lang.Object> enumerate()
        Return a collection of all of the results of any unhandled rejected promises. This does not remove unhandled promises from the collection, but reports the current state. It is useful for command-line tools.
        Returns:
        a read-only collection of promise results. To clear them, call "process".