UNPKG

1.83 kBHTMLView Raw
1<!doctype html>
2<html>
3 <head>
4 <meta charset="utf8" />
5 <title>Simple localForage example</title>
6 </head>
7 <body>
8 <script src="../dist/localforage.js"></script>
9 <script>
10 // Forcing WEBSQL here. Feel free to switch to other drivers :)
11 localforage.setDriver(localforage.WEBSQL).then(function() {
12 return localforage.ready();
13 }).then(() => {
14 console.log('ready: ' + localforage.driver());
15 }).then(() => {
16 var overall = Promise.resolve();
17 for (let i = 0; i < 1; i++) {
18 overall = overall.then(() => {
19 return wait(2000).then(() => (+new Date()) / 1000 | 0);
20 }).then((timestamp) => {
21 var data = new Uint32Array(2*1024*1024);
22 data[0] = timestamp;
23 return localforage.setItem(`bigdata${i}`, data).then(
24 data => console.log(`setItem${i} resolved`, data[0]),
25 e => {
26 console.log(`setItem${i} rejected`, e);
27 return Promise.reject(e);
28 }).then(() => {
29 return localforage.getItem(`bigdata${i}`);
30 }).then(
31 data => {
32 if (data && data[0] === timestamp) {
33 console.log(`getItem${i} data matches`, data[0]);
34 } else {
35 console.log(`getItem${i} data missmatch`, timestamp, data[0]);
36 }
37 },
38 e => {
39 console.log('rejected', e);
40 return Promise.reject(e);
41 });
42 });
43 }
44 return overall;
45 }).then(
46 () => console.log('all done'),
47 e => console.log('Error', e));
48
49 function wait(ms) {
50 return new Promise(function(resolve) {
51 resolve();
52 });
53 }
54 </script>
55 </body>
56</html>