Run a piece of code whenever the javascript process stops/exits/quits. On browsers, nodejs, electron, react-native, workers, iframes. It also ensures that the exit-function is called only once.
You should use this module when your write a npm library where you dont know in which environments the users will run it.
When nodejs:
process.on('beforeExit');
process.on('exit');
process.on('SIGINT'); // catches ctrl+c event
process.on('uncaughtException'); // catches uncaught exceptions
When browser:
window.addEventListener('beforeunload'); // closing of normal browser-window
window.addEventListener('unload'); // closed inside of iframe
Installation:
npm install unload --save
Add a function which runs when the process exits:
var unload = require('unload');
unload.add(function(){
console.log('Ouch, I\'m dying.');
});
Add and remove the function (It will no longer run when the process exits):
var unload = require('unload');
var ret = unload.add(function(){
console.log('Ouch, I\'m dying.');
});
ret.remove(); // removes the event-handler
Run all previously added functions:
var unload = require('unload');
unload.add(function(){
console.log('Ouch, I\'m dying.');
});
unload.runAll();
Remove all added functions (They will no longer run when the process exits):
var unload = require('unload');
unload.add(function(){
console.log('Ouch, I\'m dying.');
});
unload.removeAll();