“如何返回消息”;请输入一个有效的数字";在javascript中

“如何返回消息”;请输入一个有效的数字";在javascript中,javascript,Javascript,我正在为API中的查询运行一个简短的javascript代码(ECMAScript 5.1),我有一个问题: 当我在API上运行时:{{employeeId} 我将结果保存在变量“response”上,并使用以下代码: function run(response) { var balance = JSON.parse(response)[0].hoursBalance; return Math.round(balance/3600) } 我得到了预期的结果: respo

我正在为API中的查询运行一个简短的javascript代码(ECMAScript 5.1),我有一个问题:

当我在API上运行时:{{employeeId}

我将结果保存在变量“response”上,并使用以下代码:

function run(response) {
    var balance = JSON.parse(response)[0].hoursBalance;
    return Math.round(balance/3600)
    }
我得到了预期的结果:

response: [{"employeeId": 2137764, "employerId": 2147830, "plannedWorkingDay": 158400.0, "fulfilledWorkingDay": 113940.0, "hoursBalance": 44460.0}
balance: -12
但是,当“response”为空时,我需要向用户返回一条错误消息。在employeeId无效时获得此结果

response: []
我该怎么做

谢谢! Luis

您应该使用“throw”来创建错误 比如说

if (!externalId) throw "not good"
有关此签出的详细信息,请参见 另外,使用try-catch块捕获javascript中的任何错误

try{
    //something that has thrown a error
} catch (err) {
    //alert the user to do something different
   //possibly alert("error: " + err.message);
}

使用try-catch块,您的代码将继续运行,就像错误已被处理一样,这将允许用户重新输入其详细信息。

让我感到不安的是,
externalId
实际上不是一个ID,而是序列化为JSON的用户对象数组,
externalId
是一个字符串,OP收到它时它是非空的,所以这个检查并没有过滤所有无效的输入。只是好奇你也写了api函数吗?事实上我表达得很糟糕。很抱歉externalId是我用来在API中查询的变量,我将externalId变量的名称改为“Response”,我编辑了原始帖子以获得更好的效果understanding@Mick不,只需使用一个。如果您想在js中捕获错误,请使用“try”“catch”块,然后向用户显示消息