<!DOCTYPE html>
<html>

<head>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/bluebird/3.4.1/bluebird.js"></script>
</head>

<body>
  <script src="test.js"></script>
  <script>
    var worker = new Worker("test.js");
  </script>
</body>

</html>
var inWorker = typeof window === "undefined";
var context = inWorker ? self : window;

if (inWorker) {
  self.importScripts("https://cdnjs.cloudflare.com/ajax/libs/bluebird/3.4.1/bluebird.js");
  console.log("worker running");
}

context.addEventListener("unhandledrejection", function() {
  console.log("Unahndled rejection detected by custom handler!", inWorker);
});
Promise.reject(new Error("X"));