gpt4 book ai didi

javascript - 如何修复 'TypeError: (images || []).forEach is not a function'

转载 作者:行者123 更新时间:2023-11-30 08:19:46 25 4
gpt4 key购买 nike

在 Node.js(正在使用 MS Bot Framework)中,我试图遍历一个包含多个由 fetch() 返回的对象的数组。 它执行一次迭代然后抛出错误。

我确实已经将 Node 提取从等式中移除,并使用了我的对象的静态数组。我也尝试转换为数组。仍然是相同的结果:TypeError: (images || []).forEach is not a function 在第一次迭代非常顺利之后。

这是目前的样子(为了便于阅读缩短了对象值):

// exact copy of what fetch returns
let test = [
{
title: 'Power BI Desktop—Interactive Reports | Microsoft Power BI',
link: 'https://support.office.com/',
description: 'Create interactive reports with data',
thumbnail: 'https://powerbi.microsoft.com/'
}, {
title: 'What is Power BI administration? - Power BI',
link: 'https://support.office.com/',
description: 'Learn about the configuration of Power BI ',
thumbnail: 'https://learn.microsoft.com/'
}, {
title: 'Add a PowerBI tab to Teams',
link: 'https://support.office.com/',
description: 'You can add a new or existing PowerBI',
thumbnail: 'https://support.office.com/'
}
];

let cardContent = [];
test.forEach(element => {
logger.debug('working on: %j', element);
let card = CardFactory.heroCard(
element.title,
element.description,
element.thumbnail,
[element.link],
['Open Item']
);
cardContent.push(card);
});

仅供引用,这是我的获取功能的一部分:

return fetch(url + question)
.then(res => res.json())
.then(jsonResponse => {
return jsonResponse;
})

我真的不知道现在还能尝试什么。完全相同的设置适用于我的应用程序的旧版本 - 仅适用于 axios 但我也尝试过。

最佳答案

我运行了您的代码并且它有效 - 这意味着 test 数组不包含您认为它包含的内容(可能它包含由 fetch() 返回的 Promise)。使用带 await 关键字的 fetch 来获取响应,然后再次使用 await 来获取 json(类似于下面的代码 - 我将它写在 head 中)

async function load(url, question) {
...
return await (await fetch(url + question)).json()
}

...
test = await load(url, question) // this call shoud be also inside async function

关于javascript - 如何修复 'TypeError: (images || []).forEach is not a function',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55601900/

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