1.0.1 • Published 5 years ago

promise-with-tracking v1.0.1

Weekly downloads
9
License
-
Repository
github
Last release
5 years ago

Promises with Tracking

A promise monkeypatch to provide functionality to keep track of how many promises are still pending.

Usage

Install it:

yarn add promise-with-tracking or npm install promise-with-tracking

Pull it into your app. Monkeypatching will happen when the module is evaluated, so import it near the entrypoint.

require('promise-with-tracking');

Check in on some promise counts in your app:

if (Promise.getPendingPromises() > 0) {
  console.log(`Uh oh, something isn't done`);
} else {
  console.log(`All done`);
}

But why?

It can be notoriously tricky to track down when promises haven't resolved, and if so why. This module is useful for giving you a sense of code chunks that you need to take a closer look at. Here are some use cases for Promise.getPendingPromises():

  • Call it before your lambda function finishes, log an error if it's greater than 0. You probably don't want to leak promises between invocations.
  • Call it at the end of a nodejs cron script, to ensure that you've cleaned up correctly
  • Call it periodically in an webapp, to keep an eye on memory leaks. If the number keeps going up until a restart, you may have a problem.