gpt4 book ai didi

javascript - NodeJS 只是挂起,没有错误,没有崩溃

转载 作者:太空宇宙 更新时间:2023-11-04 00:39:06 25 4
gpt4 key购买 nike

不确定这是否是 JavaScript、Node.js 或 ParseServer 特定问题。

我有以下 CloudCode 函数 (ParseServer):

Parse.Cloud.define('testingScores', function(request, response)
{
var responseData = {"test_key1": "test_value1"};
var query_scores = new Parse.Query("Score");

query_scores.find({

success: function(results) {
responseData.fromServer_scores = results;
response.success(responseData);
},

error: function(error) {
response.error("scores lookup failed");
}
});
});

这按预期工作正常。现在我将其中有错误的一行更改如下:

responseData.fromServer_scores = resultsss;

显然,resultsss 没有在任何地方定义。我知道 JavaScript 不会出现编译时错误,但至少应该存在运行时错误。然而,当我运行它时,它只是“挂起”。控制台中没有任何内容,没有错误,只是控件不会继续越过该行(如果我在错误行之前和之后放置 console.log,我只会得到之前的日志)。

这是为什么呢?有没有办法让它抛出运行时错误?也许一些 JavaScript/Node.js 配置?

注意:如果我将它包装在 try-catch 中,我会在控制台中收到 'ReferenceError: resultsss is not Define',但我无法像这样 try catch 每一行简单的代码。

注意:我尝试了“use strict”;但没有成功。

最佳答案

以下是我从 Github 得到的答案.

处理 Promise 时,最好的做法是使用单个 .catch() 结束 .then() 调用链,以处理链中可能发生的任何异常。

var userQuery = new Parse.Query("User");
userQuery.get("XhmDC123wh").then(function (user) {
throw new Error('!');
}).catch(function(err) {
// err === the error above
});

关于javascript - NodeJS 只是挂起,没有错误,没有崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37658872/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com