Knoten mit express js for-each-Schleife
Ich bin mit der express mit Knoten für meine rest-api, ich muss eine for-Schleife, um zu bestimmen, die Ausgabe von json. meine route-Datei sieht
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;
und meine erwarteten json-Ausgabe ist
{"result":"success","small":[["driver_1","0.2779",["56.507199704647064","-0.12500104133338397"]],["driver_2","0.2782",["56.50730162858963","-0.12500104133338397"]]],"medium":[]}
aber ich bin immer nur
{"result":"success"}
was ist falsch im code ?
- did you pass
Jsonresult
imres.json();
? - ja ich Hinzugefügt, dass die variable
- Warum sind Sie mit
require('async-foreach').forEach
? - Was tun, passieren Sie, Wann passieren Sie eine GET-Anforderung? können Sie ein Beispiel geben?
- Ich habe aktualisiert die Frage und meine get-Parameter sind /Fahrzeuge/56.5072/-0.1275/5/km
- ihave aktualisieren Sie die Frage mit real-Parameter, können Sie dabei helfen ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
diese Weise:
und pass
result
Reaktion als auch beim Aufrufres.json()
..res.json(Jsonresult);
res.render(Jsonresult)
stattres.json(Jsonresult);
. lassen Sie mich wissen, ob das funktioniert.Dieser endlich mein problem lösen: Antwort hier