Merge pull request #129 from thoka/master

do queueing right
This commit is contained in:
Mark Nadal 2015-11-23 14:56:03 -08:00
commit d235990ab7

View File

@ -20,19 +20,19 @@ Gun.on('opt').event(function(gun, opts) {
all.keys = all.keys || {};
all.nodes = all.nodes || {};
// adapted from https://github.com/toolness/jsondown/blob/master/jsondown.js
var isWriting = false, queuedWrites = [];
function writeFile(cb,info) {
if (isWriting) return queuedWrites.push(cb);
// queue writes, adapted from https://github.com/toolness/jsondown/blob/master/jsondown.js
var isWriting = false, queuedWrites = [];
function writeFile(cb) {
if(isWriting) return queuedWrites.push(cb);
isWriting = true;
fs.writeFile(opts.file, Gun.text.ify(all), function(err) {
var batch = queuedWrites.splice(0);
isWriting = false;
cb(err);
if (queuedWrites.length)
if(batch.length)
writeFile( function(err) {
queuedWrites.forEach(function(cb) { cb(err); })
batch.forEach( function(cb) { cb(err); } )
});
queuedWrites=[];
});
}