Unload
Run a piece of code when the javascript process stops. Works in all environments (browsers, nodejs..)
Install / Use
/learn @pubkey/UnloadREADME
javascript: unload
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.
What does unload handle?
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
Usage
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();
Sponsored by
<p align="center"> <a href="https://rxdb.info/?utm_source=github&utm_medium=repo&utm_campaign=github-unload"> <img src="https://rxdb.info/files/logo/logo_text.svg" alt="Sponsored by RxDB" width="300" /> <br /> <br /> <span>The <b>JavaScript Database</b></span> </a> </p>Related Skills
node-connect
345.9kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
106.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
345.9kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
345.9kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
