// @require https://greasyfork.org/scripts/389765-common-utils/code/CommonUtils.js?version=XXX
See last available version on the GreasyFork homepage
let CacheInstance = new SimpleCache();
let result = null;
if (CacheInstance.has('key')) {
result = CacheInstance.get('key');
} else {
result = await $.ajax('url');
CacheInstance.set('key', result);
}
let SettingsInstance = new Settings('script name', {'default':'settings'});
With jQuery:
$(window).on('beforeunload', () => SettingsInstance.save() );
Author homepage: http://anton.shevchuk.name/
Script homepage: https://github.com/AntonShevchuk/common.utils
GreasyFork: https://greasyfork.org/uk/scripts/389765-common-utils