@@ -161,6 +161,10 @@ Database.prototype.meta = function(name, value) {
161161 return self ;
162162} ;
163163
164+ function next_operation ( self , type ) {
165+ self . next ( type ) ;
166+ }
167+
164168Database . prototype . insert = function ( doc , unique ) {
165169 var self = this ;
166170 var builder ;
@@ -187,7 +191,7 @@ Database.prototype.insert = function(doc, unique) {
187191 builder = new DatabaseBuilder2 ( ) ;
188192 var json = framework_builders . isSchema ( doc ) ? doc . $clean ( ) : doc ;
189193 self . pending_append . push ( { doc : JSON . stringify ( json ) , builder : builder } ) ;
190- setImmediate ( ( ) => self . next ( 1 ) ) ;
194+ process . nextTick ( next_operation , self , 1 ) ;
191195 self . emit ( 'insert' , json ) ;
192196 return builder ;
193197} ;
@@ -200,7 +204,7 @@ Database.prototype.update = function(doc, insert) {
200204 var self = this ;
201205 var builder = new DatabaseBuilder ( ) ;
202206 self . pending_update . push ( { builder : builder , doc : framework_builders . isSchema ( doc ) ? doc . $clean ( ) : doc , count : 0 , insert : insert } ) ;
203- setImmediate ( ( ) => self . next ( 2 ) ) ;
207+ process . nextTick ( next_operation , self , 2 ) ;
204208 return builder ;
205209} ;
206210
@@ -214,7 +218,7 @@ Database.prototype.modify = function(doc, insert) {
214218 return builder ;
215219
216220 self . pending_update . push ( { builder : builder , doc : data , count : 0 , keys : keys , insert : insert } ) ;
217- setImmediate ( ( ) => self . next ( 2 ) ) ;
221+ process . nextTick ( next_operation , self , 2 ) ;
218222 return builder ;
219223} ;
220224
@@ -250,7 +254,7 @@ Database.prototype.backup = function(filename, remove) {
250254Database . prototype . drop = function ( ) {
251255 var self = this ;
252256 self . pending_drops = true ;
253- setImmediate ( ( ) => self . next ( 7 ) ) ;
257+ process . nextTick ( next_operation , self , 7 ) ;
254258 return self ;
255259} ;
256260
@@ -281,7 +285,7 @@ Database.prototype.clear = Database.prototype.remove = function(filename) {
281285 backup = new Backuper ( backup ) ;
282286
283287 self . pending_remove . push ( { builder : builder , count : 0 , backup : backup } ) ;
284- setImmediate ( ( ) => self . next ( 3 ) ) ;
288+ process . nextTick ( next_operation , self , 3 ) ;
285289 return builder ;
286290} ;
287291
@@ -291,10 +295,10 @@ Database.prototype.find = function(view) {
291295
292296 if ( view ) {
293297 self . pending_reader_view . push ( { builder : builder , count : 0 , counter : 0 , view : view } ) ;
294- setImmediate ( ( ) => self . next ( 6 ) ) ;
298+ process . nextTick ( next_operation , self , 6 ) ;
295299 } else {
296300 self . pending_reader . push ( { builder : builder , count : 0 , counter : 0 , view : view } ) ;
297- setImmediate ( ( ) => self . next ( 4 ) ) ;
301+ process . nextTick ( next_operation , self , 4 ) ;
298302 }
299303
300304 return builder ;
@@ -310,10 +314,10 @@ Database.prototype.count = function(view) {
310314
311315 if ( view ) {
312316 self . pending_reader_view . push ( { builder : builder , count : 0 , view : view , type : 1 } ) ;
313- setImmediate ( ( ) => self . next ( 6 ) ) ;
317+ process . nextTick ( next_operation , self , 6 ) ;
314318 } else {
315319 self . pending_reader . push ( { builder : builder , count : 0 , view : view , type : 1 } ) ;
316- setImmediate ( ( ) => self . next ( 4 ) ) ;
320+ process . nextTick ( next_operation , self , 4 ) ;
317321 }
318322
319323 return builder ;
@@ -326,10 +330,10 @@ Database.prototype.one = function(view) {
326330
327331 if ( view ) {
328332 self . pending_reader_view . push ( { builder : builder , count : 0 , view : view } ) ;
329- setImmediate ( ( ) => self . next ( 6 ) ) ;
333+ process . nextTick ( next_operation , self , 6 ) ;
330334 } else {
331335 self . pending_reader . push ( { builder : builder , count : 0 , view : view } ) ;
332- setImmediate ( ( ) => self . next ( 4 ) ) ;
336+ process . nextTick ( next_operation , self , 4 ) ;
333337 }
334338
335339 return builder ;
@@ -342,10 +346,10 @@ Database.prototype.top = function(max, view) {
342346
343347 if ( view ) {
344348 self . pending_reader_view . push ( { builder : builder , count : 0 , counter : 0 , view : view } ) ;
345- setImmediate ( ( ) => self . next ( 6 ) ) ;
349+ process . nextTick ( next_operation , self , 6 ) ;
346350 } else {
347351 self . pending_reader . push ( { builder : builder , count : 0 , counter : 0 , view : view } ) ;
348- setImmediate ( ( ) => self . next ( 4 ) ) ;
352+ process . nextTick ( next_operation , self , 4 ) ;
349353 }
350354
351355 return builder ;
@@ -414,7 +418,7 @@ Database.prototype.next = function(type) {
414418
415419 if ( self . step !== type ) {
416420 self . step = 0 ;
417- setImmediate ( ( ) => self . next ( 0 ) ) ;
421+ process . nextTick ( next_operation , self , 0 ) ;
418422 }
419423
420424 return self ;
@@ -425,7 +429,7 @@ Database.prototype.refresh = function() {
425429 if ( ! self . views )
426430 return self ;
427431 self . pending_views = true ;
428- setImmediate ( ( ) => self . next ( 5 ) ) ;
432+ process . nextTick ( next_operation , self , 5 ) ;
429433 return self ;
430434} ;
431435
@@ -525,16 +529,16 @@ Database.prototype.$append = function() {
525529 next ( ) ;
526530 } ) ;
527531
528- } , function ( ) {
529- setImmediate ( function ( ) {
530- self . next ( 0 ) ;
531- setImmediate ( ( ) => self . refresh ( ) ) ;
532- } ) ;
533- } ) ;
532+ } , ( ) => process . nextTick ( next_append , self ) ) ;
534533
535534 return self ;
536535} ;
537536
537+ function next_append ( self ) {
538+ self . next ( 0 ) ;
539+ process . nextTick ( ( ) => self . refresh ( ) ) ;
540+ }
541+
538542Database . prototype . $append_inmemory = function ( ) {
539543 var self = this ;
540544 self . step = 1 ;
@@ -555,11 +559,7 @@ Database.prototype.$append_inmemory = function() {
555559 }
556560
557561 self . $save ( '#' ) ;
558-
559- setImmediate ( function ( ) {
560- self . next ( 0 ) ;
561- setImmediate ( ( ) => self . refresh ( ) ) ;
562- } ) ;
562+ process . nextTick ( next_append , self ) ;
563563 } ) ;
564564} ;
565565
@@ -621,9 +621,9 @@ Database.prototype.$update = function() {
621621 item . builder . $callback && item . builder . $callback ( errorhandling ( err , item . builder , item . count ) , item . count ) ;
622622 }
623623
624- setImmediate ( function ( ) {
624+ process . nextTick ( function ( ) {
625625 self . next ( 0 ) ;
626- change && setImmediate ( ( ) => self . refresh ( ) ) ;
626+ change && process . nextTick ( ( ) => self . refresh ( ) ) ;
627627 } ) ;
628628 } ) ;
629629 } ) ;
@@ -691,9 +691,9 @@ Database.prototype.$update_inmemory = function() {
691691 }
692692 }
693693
694- setImmediate ( function ( ) {
694+ process . nextTick ( function ( ) {
695695 self . next ( 0 ) ;
696- change && setImmediate ( ( ) => self . refresh ( ) ) ;
696+ change && process . nextTick ( ( ) => self . refresh ( ) ) ;
697697 } ) ;
698698 } ) ;
699699} ;
@@ -1202,9 +1202,9 @@ Database.prototype.$remove = function() {
12021202 item . builder . $callback && item . builder . $callback ( errorhandling ( null , item . builder , item . count ) , item . count ) ;
12031203 }
12041204
1205- setImmediate ( function ( ) {
1205+ process . nextTick ( function ( ) {
12061206 self . next ( 0 ) ;
1207- change && setImmediate ( ( ) => self . refresh ( ) ) ;
1207+ change && process . nextTick ( ( ) => self . refresh ( ) ) ;
12081208 } ) ;
12091209 } ) ;
12101210 } ) ;
@@ -1268,7 +1268,7 @@ Database.prototype.$remove_inmemory = function() {
12681268 }
12691269
12701270 self . next ( 0 ) ;
1271- change && setImmediate ( ( ) => self . refresh ( ) ) ;
1271+ change && process . nextTick ( ( ) => self . refresh ( ) ) ;
12721272 } ) ;
12731273} ;
12741274
@@ -1342,7 +1342,7 @@ DatabaseBuilder.prototype.$callback2 = function(err, response, count) {
13421342 return self . $callback ( err , response , count ) ;
13431343
13441344 if ( self . $joincount ) {
1345- setImmediate ( ( ) => self . $callback2 ( err , response , count ) ) ;
1345+ process . nextTick ( ( ) => self . $callback2 ( err , response , count ) ) ;
13461346 return self ;
13471347 }
13481348
@@ -1472,7 +1472,7 @@ DatabaseBuilder.prototype.join = function(field, name, view) {
14721472 self . $joincount -- ;
14731473 } ) ;
14741474
1475- setImmediate ( function ( ) {
1475+ process . nextTick ( function ( ) {
14761476 join . $fields && join . fields ( self . $join [ key ] . b ) ;
14771477 join . $fields && self . $join [ key ] . scalarfield && join . fields ( self . $join [ key ] . scalarfield ) ;
14781478 } ) ;
0 commit comments