Stále si nejsem jistý, co je příčinou pauzy, ale zdá se, že to je viník.
Během pauzy Cursor.nextObject
je několikrát voláno, než se první vrátí. Některá z těchto volání vracejí null
. Řešením je zajistit Cursor.nextObject
není nikdy voláno současně.
if (this.cursor && !this.cursor_exec && this.length() < this.concurrency) {
this.cursor_exec = true;
this.cursor.nextObject(function(err, item) {
console.log(this.name + ': ' + (item ? item._id : null) + ' ' + (err ? err : null));
this.cursor_exec = false;
if (item) {
this.push(item);
} else {
delete this.cursor;
}
}.bind(this));
}