UNPKG

@converse/localforage-getitems

Version:
87 lines (73 loc) 2.54 kB
<!doctype html> <html> <head> <meta charset="utf8" /> <title>Simple localForage-getItems example</title> </head> <body> <script src="../node_modules/localforage/dist/localforage.js"></script> <script src="../dist/localforage-getitems.js"></script> <script> var driverTestOrder = [ localforage.INDEXEDDB, localforage.WEBSQL, localforage.LOCALSTORAGE ]; var n = 100; var take = 10; function getRandomKeys() { var keys = []; for (var i = 0; i < take; i++) { var key = ((Math.random() * n) | 0) + 'key'; keys.push(key); } return keys; } var itemKeys = getRandomKeys(); function initDb() { var initPromise = localforage.setDriver(driverTestOrder).then(function() { return localforage.clear(); }).then(function() { var totalKeyValues = []; for (var i = 0; i < n; i++) { var key = i + 'key'; var value = ((Math.random() * n) | 0) + 'value'; totalKeyValues.push([key, value]); } var totalKeyValuesPromises = totalKeyValues.map(function(x) { return localforage.setItem(x[0], x[1]); }); var promiseAll = Promise.all(totalKeyValuesPromises); return promiseAll; }); return initPromise; } var initT0 = performance.now(); initDb().then(function(){ var initT1 = performance.now(); console.log('Init Finished after ' + (initT1 - initT0) + ' milliseconds.'); var driver = localforage.driver(); Promise.resolve().then(function(){ var t0 = performance.now(); return localforage.getItems(itemKeys).then(function(results){ console.log('getItems', results); var t1 = performance.now(); console.log('Completed ' + driver + ' after ' + (t1 - t0) + ' milliseconds.'); }); }).then(function(){ if (localforage.driver() !== localforage.LOCALSTORAGE) { var t0g = performance.now(); localforage.getItems.generic.call(localforage, itemKeys).then(function(results){ console.log('getItemsGeneric', results); var t1g = performance.now(); console.log('Completed Generic after ' + (t1g - t0g) + ' milliseconds.'); }); } }); }); </script> <p> Check your console log. </p> </body> </html>