mirror of
https://github.com/amark/gun.git
synced 2025-03-30 15:08:33 +00:00
commit
d235990ab7
14
lib/file.js
14
lib/file.js
@ -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=[];
|
||||
});
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user