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

调用API获取validators数组总数量而非数据,代码运行异常是什么原因?

问题原因
  • 未定义变量引用:代码中直接使用了validators变量,但接口返回的JSON数据是赋值给回调函数的入参d的,validators是d下的子字段,没有直接声明的validators变量,运行时会抛出ReferenceError: validators is not defined错误。
  • 非必要的Object.keys调用:d.validators本身就是数组类型,直接访问.length属性即可获取长度,不需要通过Object.keys()转换,后者是用于获取普通对象键名集合的方法,虽然对数组使用也能得到对应长度,但属于冗余写法。
修复后代码
let fetchRes = fetch("https://avax.dev/data/validators.json"); 

// fetchRes是待决议的Promise对象,通过.then()方法进行处理
fetchRes
 .then(res => res.json())
 .then(d => {
     console.log(d)
     // 先从返回结果中提取validators数组
     const validators = d.validators
     let len = validators.length;
     console.log(len);
});

内容的提问来源于stack exchange,提问作者Prime

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 11:18:00