我有这个Javascript对象
var output = {
"_resolved": true,
"_result": [ {
"title": "Pencil",
"quantity": 1,
"objectId": "HknL2ZAspb"
} ]
}
当我尝试获得这样的标题值时:
output._result[0].title
它返回undefined。
然而
output._result[0]
正确返回
{ "title": "Pencil", "quantity": 1, "objectId": "HknL2ZAspb" }
知道为什么output._result[0].title
返回undefined?
我也试过output["_result"][0]["title"]
但它也返回undefined。
var output = {
"_resolved": true,
"_result": [ {
"title": "Pencil",
"quantity": 1,
"objectId": "HknL2ZAspb"
} ]
}
console.log(output._result[0].title);
Serverside代码(节点):
const productsQuery = new Parse.Query(ProductTable);
output = productsQuery.get('HknL2ZAspb'); //objectID
app.get('/', (req, res) => res.send(JSON.stringify(output["_result"][0]["title"])))
注意Query和其他代码就好了。当输出返回确切的对象时。
答案 0 :(得分:1)
因为你正在使用Parse和它的异步事物。
从official documentation中的示例我可以举例说明:
const ProductTable = 'products';
app.get('/products/:id', async (req, res) => {
try {
const productId = req.params.id;
const query = (new Parse.Query(ProductTable))
.equalTo('objectId', productId);
const result = await query.find();
if (result[0]) {
return res.status(200).send(result[0]);
}
res.status(404).send({});
}
catch (error) {
res.status(500).send(error);
}
});