async friendly version of https://www.npmjs.com/package/once
in your npm console:
npm install --save @rootstream/once
in your code:
const once = require('@rootstream/once');
async function sample() { /* ... */ };
// guarantees sample() is called only and only once during app's lifetime
const sampleOnce = once(sample)
// guarantees sample() is called only and only once during function's execution lifetime
const sampleOnceReentrant = once(sample, { reentrant: true })