我試圖通過res.json()
通過Express發送json響應,但通過res.json()
發送的對象中的records
的值是空的。數組在res.json()中爲空,但它在res.json()調用之前和之後存在
我的代碼塊:
stats.activities(params).then(res => {
processActivities(res, response => {
console.log(response); // => logs response properly
globalRes.json({
ok: true,
message: '',
records: response // response is an empty array
});
console.log(response); // => logs response properly
});
});
這裏是我的console.logs()
:
[ players: [ [ [Object], [Object], [Object] ] ] ]
[ players: [ [ [Object], [Object], [Object] ] ] ]
這裏是我找回(在郵差)響應:
{
"ok": true,
"message": "",
"records": []
}
有什麼想法可能導致這種情況?
它是一個真正的數組('Array.isArray(響應)')?另外,'processActivities'有一個奇怪的調用簽名:它調用一個不符合'err,result'標準約定的回調函數。你確定你正確地調用它嗎? – robertklep
@robertklep它確實是一個真正的數組。是的,我把它稱爲正確的,這是我自己的功能,我還沒有實現錯誤。 –
「響應」究竟包含什麼?它似乎混淆了'JSON.stringify()',因爲它或者沒有長度,或者它重載'toJSON'或者什麼的。 – robertklep