Reza
Reza

Reputation: 138

Rethinkdb Node.JS .changes() unwanted looping

i have a a problem with Node JS, and rethinkdb module. I'm currently developing program for my thesis

this pieces code of db.js:

var r = require("rethinkdb"); 
var host = "localhost";
var db = "example";
var port = 28015;
class dbs{
    connectToDb(callback){
        r.connect({
        host:host,
        port:port,
        db:db
        },function(err,connection){
             return callback(err,connection);
          });
    }

  streamAllData(tableName,callback){
  this.connectToDb(function(err,conn){
    r.table(tableName).changes().run(conn,function(err,cursor){
      if(err){
        return callback(true,err);
      }
      else{
        cursor.next(function(err,rows){
          return callback(null,rows);
        });

      }
    });
  });
}
}

and this pieces of code from server.js

var dbrs = require("./db");
var rdb = new dbrs();
var io = require("socket.io").listen(https.createServer(options,app).listen(port));
io.on("connection",function(socket){
   rdb.streamAllData("userlocation",function(err,data){
      socket.emit("broadcast:userlocation",data);
   });
});

that result is always sending 7 same data . actually mobile phone sending cordinates to server is clean with configured interval.

this unwanted looping is always crashed my browser when im trying to draw driver location to maps.

enter image description here

that is a screenshot from chrome console

Upvotes: 0

Views: 67

Answers (1)

Etienne Laurin
Etienne Laurin

Reputation: 7184

You method name streamAllData does not match your usage of cursor.next, which only fetches a single result. Perhaps you meant to use cursor.each instead?

See https://www.rethinkdb.com/api/javascript/next/

Upvotes: 1

Related Questions