Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var cloneAsync = (function() {
- var queue = [];
- var worker = new Worker(URL.createObjectURL(new Blob(['onmessage=function(e){postMessage(e.data)}'], {
- 'type': 'text/javascript'
- })));
- worker.addEventListener('message', function listener(e) {
- var callback = queue.shift().callback;
- if (queue.length) {
- this.postMessage(queue[0].value);
- }
- callback(e.data);
- });
- return function(value, callback) {
- if (!queue.length) {
- worker.postMessage(value);
- }
- queue.push({ 'value': value, 'callback': callback });
- };
- }());
- var object = { 'a': { 'b': [1, { 'c': 2 }] } };
- cloneAsync(object, function(result) {
- console.log(result, object === result);
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement