在 Parse 服务器 get() 方法中导致崩溃
In Parse server get() method causes crash
我有一个 find
查询 include
来获取指针数据。它工作正常,但如果指针对象不存在,则服务器崩溃。
这是我的查询:
var repliesQuery = new Parse.Query("Reply");
repliesQuery.include("author");
repliesQuery.find({
useMasterKey: true
}).then(function(foundMessages) {
var results = [];
for (var i = 0; i < foundMessages.length; i++) {
var rp = {};
rp.title = foundMessages[i].get("title");
rp.description = foundMessages[i].get("description");
var author = foundMessages[i].get("author");
rp.authorId = author.id;
results.push(rp);
}
promise.resolve(results);
});
当作者存在时一切正常,但如果不存在则服务器崩溃。
我试着添加这个:
if (author.hasOwnProperty('id')) {
rp.authorId = author.id;
}
但是问题还是没有解决
我们有什么办法可以解决这个问题吗?
这很可能是因为您正在访问 undefined
对象的 属性,在本例中 author
,行
rp.authorId = author.id
如 Davi 建议的那样,检查 author
是否存在。
var repliesQuery = new Parse.Query("Reply");
repliesQuery.include("author");
repliesQuery.find({
useMasterKey: true
}).then(function(foundMessages) {
var results = [];
for (var i = 0; i < foundMessages.length; i++) {
var rp = {};
rp.title = foundMessages[i].get("title");
rp.description = foundMessages[i].get("description");
var author = foundMessages[i].get("author");
if (author) {
rp.authorId = author.id;
}
results.push(rp);
}
promise.resolve(results);
});
您的支票
if (author.hasOwnProperty('id')) {
rp.authorId = author.id;
}
也访问 author
的 属性,所以如果 author
是 undefined
,它会再次抛出错误。
我有一个 find
查询 include
来获取指针数据。它工作正常,但如果指针对象不存在,则服务器崩溃。
这是我的查询:
var repliesQuery = new Parse.Query("Reply");
repliesQuery.include("author");
repliesQuery.find({
useMasterKey: true
}).then(function(foundMessages) {
var results = [];
for (var i = 0; i < foundMessages.length; i++) {
var rp = {};
rp.title = foundMessages[i].get("title");
rp.description = foundMessages[i].get("description");
var author = foundMessages[i].get("author");
rp.authorId = author.id;
results.push(rp);
}
promise.resolve(results);
});
当作者存在时一切正常,但如果不存在则服务器崩溃。
我试着添加这个:
if (author.hasOwnProperty('id')) {
rp.authorId = author.id;
}
但是问题还是没有解决
我们有什么办法可以解决这个问题吗?
这很可能是因为您正在访问 undefined
对象的 属性,在本例中 author
,行
rp.authorId = author.id
如 Davi 建议的那样,检查 author
是否存在。
var repliesQuery = new Parse.Query("Reply");
repliesQuery.include("author");
repliesQuery.find({
useMasterKey: true
}).then(function(foundMessages) {
var results = [];
for (var i = 0; i < foundMessages.length; i++) {
var rp = {};
rp.title = foundMessages[i].get("title");
rp.description = foundMessages[i].get("description");
var author = foundMessages[i].get("author");
if (author) {
rp.authorId = author.id;
}
results.push(rp);
}
promise.resolve(results);
});
您的支票
if (author.hasOwnProperty('id')) {
rp.authorId = author.id;
}
也访问 author
的 属性,所以如果 author
是 undefined
,它会再次抛出错误。