Parse.com query.equalTo错误处理
Parse.com query.equalTo error processing
我正试图查询Parse.com数据库,看看某个字段是否可用。然后,我希望根据变量是否存在于数据库中来执行某些操作。
以下是完整的生产功能:
function getProduct() {
var Products = Parse.Object.extend("Products");
ProductEAN = 76130347394081;
output = "";
var query = new Parse.Query(Products);
query.equalTo("EANBarcode", ProductEAN );
query.find({
success: function(results) {
var no = results[0].get("EANBarcode");
var title = results[0].get("Name");
output += "[" + no + "] " + title;
console.log( "Output is: " + output );
},
error: function(error) {
alert(error.message);
}
});
}
如果存在ProductEAN,那么成功功能将按预期工作。如果它不存在,而不是运行错误函数,我会得到一个控制台输出,上面写着:
"未捕获类型错误:无法读取未定义"的属性"get"
我遵循本指南:https://www.youtube.com/watch?v=2TVmgEJfbno
我有点不明白为什么这不起作用。有人有这方面的经验吗?
find()方法的错误回调只有在执行中出现错误时才会被调用。在不存在ProductEAN的情况下,它仍然是一个成功的查询,但没有匹配的记录。这意味着它调用成功回调,结果为空数组。因此,结果[0]是未定义的,这解释了控制台错误输出。
您可能需要更改成功回调以验证results.length并做出适当的决定。类似这样的东西:
query.find({
success: function(results) {
if(results.length > 0){
var no = results[0].get("EANBarcode");
var title = results[0].get("Name");
output += "[" + no + "] " + title;
console.log( "Output is: " + output );
}
else{
console.log('No matching records');
}
},
error: function(error) {
alert(error.message);
}
});
相关文章:
- javascript:如何在antlr生成的Lexer中进行错误处理
- 生成pdf或其他非html文件时的错误处理
- sailsjs在创建两个模型时的错误处理
- 为什么没有调用我的流错误处理程序
- 错误处理try&catch+回调
- EventSource中的错误处理
- Angular JS中的通用Ajax错误处理-拦截器
- Sinon Mocha节点错误处理
- 如果文件不存在,fs.watch是否有错误处理程序
- Javascript初始化和错误处理
- AngularJS错误处理:根据错误数组显示错误
- JQuery 图像错误处理
- BreezeJS中央错误处理程序和自动重试
- 文件下载html与错误处理FileNotFound
- 使用mongoose保存多个文档时的错误处理
- Node.js如何知道回调的第一个参数是否是错误处理程序
- Meteor JavaScript-错误处理
- AJAX自定义错误处理代码问题
- 正在获取丢失的错误处理程序套接字消息,无法读取属性'timerID'使用Node.js和Socket.i
- 为什么不't JavaScript库使用错误处理