2016-08-03 12 views
0

Ich musste APIS ändern und ich kann den Client-Code nicht ändern. Ich habe den Knotencode, der die Daten manipulieren sollte. Fehler [ReferenceError: obj is not defined] Ich habe den folgenden Code, der API-Antwort, Knotencode und Snippet meines eckigen Ausdrucks enthält.Ändern api Ergebnisse - Name des Objekts - Nodejs

// api response 
{ 
    "active_id": null, 
    "enabled": true, 
    "last_modified": 14700220477943, 
    "latitude": 37.235205, 
    "longitude": -121.874178, 
    "expiration": null,   // need to change this to 'countdown' 
    "location_id": "0d16" 
}, 

//node stuff 


app.get('/raw_data', (req, res) => { 
    const { swLat, swLng, neLat, neLng } = req.query; 
    axios.get(`http://newURl?bounds=${swLat},${swLng},${neLat},${neLng}`) 
    .then((apiRes) => { 
     const { data } = apiRes; 

     let newData; 

     // Manipulate the `data`, then set it to newData 

     data.obj.expiration = newData.obj.countdown; 

     res.send(data); 

     // Return the manipulated data 
     res.send(newData); 
    }) 
    .catch((err) => { 
     console.log(err); 
    }); 
}); 

//angular code uses 
{{object.counter}} // not "expiration" 

Antwort

0

Sie könnten nur eine countdown Eigenschaft auf das Objekt hinzufügen, ist es unter der Annahme, ok die ungenutzte expiration Eigenschaft zu halten:

var obj = { 
    //... 
    "expiration": null, 
    //... 
}; 
obj.countdown = obj.expiration; 

//... 

{{obj.countdown}} 

Sonst könnte man einfach ein neues Objekt mit den Feldern erstellen Sie benötigen:

var obj1 = ...; 
var obj2 = { 
    countdown: obj.expiration, 
    //... 
}; 
+0

hi, im Knoten, bekomme ich einen Fehler am Punkt nach obj. irgendwelche Ideen –

+0

Was genau ist der Fehler? Beachten Sie, dass mein Code ein Beispiel war; Ersetzen Sie die Variablennamen durch die Ihrer eigenen Variablen. – qxz

+0

[TypeError: Kann die Eigenschaft 'obj' von undefined nicht lesen] // Ich benutze meine eigenen Variablen –