javascript - 嵌套 forEach 循环打字稿
问题描述
所以现在我正在开发一个 RESTful API,对于这个特定的路由,我需要使用来自两个不同的现有 API 的数据,我将它们组合成一个对象数组,我在 GET 路由上作为 JSON 对象返回。
所以在这种情况下,我从某个 API 获取上类,然后根据第一个 API 的值从另一个 API 获取下类。为了实现这一点,我做了一个嵌套的 forEach 循环,但是我添加到第一个 API 的结果中的对象数组不存在。所以感觉就像我的代码中应该循环通过第二个 API 调用的部分永远不会到达。有谁知道这里出了什么问题?我已经研究这个问题好几天了,无法弄清楚我哪里出错了。
非常感谢您的帮助,如果描述得太模糊,我很乐意回答您的问题并扩展我的问题。
兄弟,维克多
function ObjectHandler(obj: any): object[] {
const returnobject: object[] = [
];
obj.forEach((e: any) => {
const spec = e.codevalue;
const specLC = spec.toLowerCase();
const url: string = "http://baseurlexample.com/" + specLC;
const underclassRAW = testfunction(url);
const underclass: object[] = [
];
underclassRAW.forEach((e: any) => {
const metadata = e.metadata.find((e: any) => e.lang === "EN");
const uc_keyvalues = {
value: e.codevalue,
explanation: metadata.name,
description: metadata.description,
};
underclass.push(uc_keyvalues);
});
const metadata = e.metadata.find( (e: any) => e.lang === "EN");
const keyvalues = {
value: e.codevalue,
explanation: metadata.name,
underclass: underclass,
};
returnobject.push(keyvalues);
});
return returnobject;
}
function testfunction (URL: String): object[] {
const value: object[] = [
];
let data = "";
https.get(URL, (resp: Response) => {
resp.on("data", (chunk: any) => {
data += chunk;
});
resp.on("end", () => {
const newdata = JSON.parse(data);
value.push(newdata);
});
})
.on("error", (err: Error) => {
console.log("Error: " + err.message);
});
return value;
}
返回对象的外观:
[
{
"value": "A",
"explanation": "something",
"underclass": [
{
"value": "A1",
"explanation": "something",
"description": "something."
},
{
"value": "A2",
"explanation": "something",
"description": ""
},
{
"value": "A3",
"explanation": "A3",
"description": "something"
},
{
"value": "A4",
"explanation": "Something",
"description": ""
}
]
},
它的外观:
[
{
"value": "A",
"explanation": "something",
"underclass": []
},
解决方案
推荐阅读
- docker - 从 Docker (ksqlDB) 连接到主机上的 Kafka
- java - JUnit assertEquals 失败显示以 [] 结尾的相同字符串
- regex - 如果字符仅在特定位置出现特定次数,如何匹配正则表达式
- reactjs - 如何在antd的表格行中添加data-testid?
- android - react-native-share方法share单开Android 11 Play Store
- python - 尝试在 Python 中使用 ctypes 模块时出现错误
- python - Python将元素插入到列表中,每次迭代都不同
- django - Django在查看之前检查用户权限
- python-3.x - Pandas - 我有一个数据集,其中包含国家、公司和员工总数。我需要按国家/地区划分每个公司的员工总数的数据框
- javascript - 将 NodeJS 库添加到客户端 RSS 阅读器应用程序的最简洁方法是什么?