javascript - node with express js for each loop -
i'm using express node rest api, need run loop determine output json. route file looks
var redis = require('ioredis') var redis = new redis({ port: 6379, host: '127.0.0.1', family: 4, password: 'password', db: 0 }); var jsonresult = {}; var process = function(lat,lon,dist,unit) { jsonresult.result = 'success'; var vehicle_type = new array('small','medium'); vehicle_type.foreach(function(vehicle, index, arr) { redis.georadius ( vehicle,lat,lon ,dist,unit,'withcoord','withdist',function( err , result ) { if (err) { console.log(err); } jsonresult[vehicle] = result; }) ; }) return jsonresult; } router.get('/:lat/:lon/:dist/:unit', function(req, res, next) { var lat = req.params.lat; var lon = req.params.lon; var dist = req.params.dist; var unit = req.params.unit; res.json(process(lat,lon,dist,unit)); }); module.exports = router; and expected json output is
{"result":"success","small":[["driver_1","0.2779",["56.507199704647064","-0.12500104133338397"]],["driver_2","0.2782",["56.50730162858963","-0.12500104133338397"]]],"medium":[]} but i'm getting
{"result":"success"} whats wrong in code ?
this way:
vehicle_type.foreach(function(vehicle, index, arr) { jsonresult[vehicle] = true; }) and pass result in response when calling res.json()..
res.json(jsonresult);
Comments
Post a Comment