0
我在使用Express在RESTful API中發送對象時遇到了一些麻煩。這應該很簡單,但我有一個奇怪的錯誤。 這裏是我的代碼:在res.send期間JS對象發生了變化
result = result.map(function (elem) {
elem.progress = elem.progress.map(prog => prog.progress).reduce((x, y) => x + y, 0);
return ({'user': elem});
});
result.forEach((elem) => console.log('#', elem.user.progress));
console.log('result:', result);
res.send(result);
這是我用它來測試它的數據:
[
{
"user": {
"user_id": 1,
"id": 354,
"already_connected": 1,
"progress": [
{
"id": 520,
"teams_user_id": 354,
"a_category_id": 1,
"progress": 100,
"created": "2016-11-10T13:44:30.000Z",
"modified": "2016-11-10T13:44:33.000Z"
},
{
"id": 521,
"teams_user_id": 354,
"a_category_id": 2,
"progress": 100,
"created": "2016-11-10T13:44:33.000Z",
"modified": "2016-11-10T13:44:35.000Z"
},
],
"user": {
"name": "Foo bar",
"avatar_id": 6673,
"default_avatar_int": 1
}
}
}
]
我希望進步等於200,這是這樣,當我做的console.log在res.send之前,但是當我在Postman中收到數據時,進度仍然等於一個數組。我究竟做錯了什麼 ?
沒有遺憾,這是後的數據({ '用戶':ELEM}); – Papotitu
在嘗試處理數據之前,能否提供一個數據示例? –
通過添加elem = elem.toJSON()來解決該錯誤;在第一個result.map的開始處 – Papotitu