You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ECMAScript 5.1中处理API空响应并返回指定提示信息的方法

解决方案:处理无效employeeId导致的空数组情况

没问题,我们可以在代码里先判断解析后的数组是否为空,这样就能避免报错并返回指定提示信息。这里给你两种处理方式,第一种针对你明确提到的response是空数组的场景,第二种额外处理JSON解析失败的情况(更健壮):

基础版(仅处理空数组)

function run(response) {
  var data = JSON.parse(response);
  // 检查数组是否为空
  if (data.length === 0) {
    return "Please enter a valid number";
  }
  var balance = data[0].hoursBalance;
  return Math.round(balance / 3600);
}

健壮版(额外处理解析错误)

如果API在employeeId无效时可能返回非JSON格式的内容(比如错误文本),我们可以加个try-catch块来捕获解析失败的情况,统一返回提示:

function run(response) {
  try {
    var data = JSON.parse(response);
    if (data.length === 0) {
      return "Please enter a valid number";
    }
    var balance = data[0].hoursBalance;
    return Math.round(balance / 3600);
  } catch (error) {
    // 处理JSON解析失败的情况
    return "Please enter a valid number";
  }
}

逻辑说明

  • 首先把response解析到data变量,方便后续判断和操作
  • 先检查data的长度:如果是空数组,直接返回提示文本,避免访问data[0]时出现Cannot read property 'hoursBalance' of undefined的错误
  • 只有当数组有内容时,才执行原来的计算逻辑,保证原有功能正常
  • 健壮版里的try-catch能覆盖API返回非有效JSON的场景,让代码在异常情况下更稳定

内容的提问来源于stack exchange,提问作者Luis Augusto Vanzin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 04:20:35