Parse platform 使用Parse.com云代码和javascript API处理错误
使用Parse.com云代码处理错误的最佳方法是什么。我可以使用console.log和Firebug来查看解析云代码何时抛出错误,但我需要一些帮助,以了解如何通知客户端出了问题。双方的一些示例代码将非常棒——云代码和客户端javascript代码 Parse已经完成了 例如,在云代码中运行查询时Parse platform 使用Parse.com云代码和javascript API处理错误,parse-platform,Parse Platform,使用Parse.com云代码处理错误的最佳方法是什么。我可以使用console.log和Firebug来查看解析云代码何时抛出错误,但我需要一些帮助,以了解如何通知客户端出了问题。双方的一些示例代码将非常棒——云代码和客户端javascript代码 Parse已经完成了 例如,在云代码中运行查询时 query.find().then(function(result){ ... }, function(error){ response.error("Error occurre
query.find().then(function(result){ ... },
function(error){
response.error("Error occurred: " + error.message);
}
这将向客户端发送错误消息 作为一个实验,我尝试了
response.error
和各种字符串/对象,下面是每个字符串/对象返回的内容(命令显示了客户端的返回值)
本质上,它总是返回代码141,而您只能返回字符串。我很惊讶从异常返回的{}
传递众所周知的err
对象,我猜这是出于安全原因。我不明白的是为什么您不能在服务器上console.log(err)
,因为这在试图弄清楚发生了什么时给我带来了很多困惑。基本上,您总是需要在console.log语句中执行err.message
,以了解到底发生了什么
response.error("Some String of text") // --> {code: 141, message: "Some String of text"}
response.error( new Error("My Msg") ) // --> {code: 141, message: "{}"}
try {
var x = asdf.blah;
}catch(err) {
return response.error(err.message); // --> {code: 141, message: "asdf is not defined"}
}
response.error( err ); // --> {code: 141, message: "{}"}
response.error( Parse.Error(Parse.Error.VALIDATION_ERROR, "My Text") ); // --> {code: 141, message: "An error has occurred"}
我喜欢这样- 在云代码上创建一个ErrorHandler.JS文件-
exports.sendError = function(response, message, data) {
console.log("Message - " + message + " Data - " + JSON.stringify(data)); // To print LOG on Cloud Code
// Moreover you can use any of - "console.error/warn" - as mentioned - https://parse.com/docs/cloud_code_guide#logging
response.error({
status : false, // Indicates EXECUTION STATUS - I am using "successHandler" also & using STATUS as "true"
message : message, // Refers to Error Message
data : data || {} // Error Object or your customized Object
});
}
&客户端如果需要,您可以打印所有数据,也可以向用户显示警报消息
此外,出于开发目的,最好同时检查服务器端和客户端日志,因为解析云代码只在日志中存储最后100条消息
&为了实现正确的日志记录,您必须使用适当的类存储结构创建一些自定义过程。现在,如果调用response.error(代码,消息),您可以返回与141不同的代码。