Javascript NodeJS只是挂起,没有错误,没有崩溃
不确定这是JavaScript、Node.js还是ParseServer特定的问题 我有以下CloudCode函数(ParseServer): 这工作正常。 现在我将其中一行更改为有一个错误,如下所示:Javascript NodeJS只是挂起,没有错误,没有崩溃,javascript,node.js,parse-server,Javascript,Node.js,Parse Server,不确定这是JavaScript、Node.js还是ParseServer特定的问题 我有以下CloudCode函数(ParseServer): 这工作正常。 现在我将其中一行更改为有一个错误,如下所示: responseData.fromServer_scores = resultsss; 显然,resultsss没有在任何地方定义。我知道JavaScript不会出现编译时错误,但至少应该存在运行时错误。然而,当我运行这个时,它只是“挂起”。控制台中没有任何内容,没有错误,只是控件没有继续通过
responseData.fromServer_scores = resultsss;
显然,resultsss
没有在任何地方定义。我知道JavaScript不会出现编译时错误,但至少应该存在运行时错误。然而,当我运行这个时,它只是“挂起”。控制台中没有任何内容,没有错误,只是控件没有继续通过该行(如果我在错误行之前和之后放置了console.log,我只会在错误行之前获取日志)
为什么会这样?有没有办法让它抛出运行时错误?可能是一些JavaScript/Node.js配置
注:
如果我将其包装在try-catch中,我会在控制台中得到“ReferenceError:resultsss未定义”
,但我不能像这样尝试捕获每一行琐碎的代码
注意:我尝试了
“严格使用”代码>没有运气。下面是我从中得到的答案
在处理承诺时,最好使用单个.catch()结束.then()调用链,以处理链中可能发生的任何异常
var userQuery = new Parse.Query("User");
userQuery.get("XhmDC123wh").then(function (user) {
throw new Error('!');
}).catch(function(err) {
// err === the error above
});
一定还有另一次尝试,邪恶地吞咽错误,你尝试过使用承诺吗?您可以尝试类似以下操作:query\u scores.find()。然后(…successHandler…).catch(…errorHandler…)
。这样,理论上,承诺的捕获者也将捕获ReferenceError
。
var userQuery = new Parse.Query("User");
userQuery.get("XhmDC123wh").then(function (user) {
throw new Error('!');
}).catch(function(err) {
// err === the error above
});