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

调用XMLHttpRequest封装的getInfo方法时回调仅返回索引无法获取目标对象

问题根因

你定义getInfo函数时,给回调函数传递了两个入参:第一个是你传入的索引resource,第二个才是你需要的数组对应索引的对象data[resource]。但你调用getInfo时传入的回调函数只接收了第一个参数,所以打印出来的就只有索引值。
你自定义的myfunc可以正常返回结果,是因为你定义myfunc时就声明接收了两个参数,所以可以正常拿到索引和对应对象。

修复方案

可以任选一种方案修改:

  • 方案1:修改回调函数的参数声明,增加第二个参数接收返回的对象
getInfo(0, (index, data) => {
    console.log(data);
    getInfo(2, (index, data) => {
        console.log(data);
        getInfo(1, (index, data) => {
                console.log(data);
        });
    });
});
  • 方案2:修改getInfo内部调用回调的逻辑,仅传递需要的对象
    把getInfo内的callback(resource, data[resource]);改为callback(data[resource]);即可,不需要修改现有调用逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 23:57:02