Skip to content

Instantly share code, notes, and snippets.

@nolanlawson
Created May 3, 2014 05:38
Show Gist options
  • Star 6 You must be signed in to star a gist
  • Fork 5 You must be signed in to fork a gist
  • Save nolanlawson/863e464f3025d7199a1f to your computer and use it in GitHub Desktop.
Save nolanlawson/863e464f3025d7199a1f to your computer and use it in GitHub Desktop.
IndexedDB with Web Workers
<html>
<body>
<span id="output"></span>
</body>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="main.js"></script>
</html>
var worker = new Worker('worker.js');
worker.onmessage = function(event) {
$('#output').text('Output is: ' + event.data);
};
worker.postMessage('foo');
self.onmessage = function(event) {
var req = indexedDB.open('mydb', 1);
req.onupgradeneeded = function (e) {
self.postMessage('successfully upgraded db');
};
req.onsuccess = function (e) {
self.postMessage('successfully opened db');
};
req.onerror = function(e) {
self.postMessage('error');
}
};
@questsin
Copy link

Nice example. Does "req" only work inside of self.onmessage? I tried putting it all inside a function inside worker.js that self.onmessage calls but it fails to call "onsucess"? any ideas?

  • var req = indexedDB.open...
  • req..onsuccess = function (e) {

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment