gpt4 book ai didi

javascript - 如何修复变量未定义` - 有问题的变量在我的代码中明确定义

转载 作者:行者123 更新时间:2023-12-02 23:44:08 24 4
gpt4 key购买 nike

嘿,互联网上那些了不起的人们,这是一个相当菜鸟的问题,但我编写的一些 Javascript 遇到了一些问题。这是代码 -

const req0 = http.request({
hostname: `api.trello.com`,
port: 443,
path: `/1/lists/5cb77e9ef180dd2bbb25acf2/cards?key=${trelloKey}&token=${trelloToken}&fields=name`,
method: `GET`
}, res => {
let str = '';
res.on('data', chunk => {
str += chunk;
});
res.on('end', () => {
try {
var level0Data = JSON.parse(str);
console.log(`Level 0: ${level0Data}`)
level0Data.forEach((k,v) => {
var id = k.id;
var name = k.name;
console.log(`${id} = ${name}`);
});
} catch(error) {
console.log(error);
}
});
});
req0.on('error', error => {
console.log(error);
});
req0.end();


level0Data.forEach(function(level0Names) {
// code here
});

我遇到的问题是它一直给我一个错误,指出 level0Data 未定义。我知道这是一个相当新手的问题,但我希望得到一些指导。谢谢!

最佳答案

您是否看到 level0Data 未在以下范围内定义? (MDN reference(Scope))

  level0Data.forEach(function(level0Names) {
// code here
});

您必须在回调函数内使用level0data


// NOTE: Level0data is available only here, as you defined in this scope.
...

var level0Data = JSON.parse(str);
console.log(`Level 0: ${level0Data}`)
level0Data.forEach((k,v) => {
var id = k.id;
var name = k.name;
console.log(`${id} = ${name}`);
});

...

或者您可以传递一个函数来处理回调。

function handle(str) {
var level0Data = JSON.parse(str);
console.log(`Level 0: ${level0Data}`)
level0Data.forEach((k,v) => {
var id = k.id;
var name = k.name;
console.log(`${id} = ${name}`);
});

level0Data.forEach(function(level0Names) {
// code here
});
}

...

try {
handle(str)
} catch(e) {
console.error(e)
}

关于javascript - 如何修复变量未定义` - 有问题的变量在我的代码中明确定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55932028/

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