javascript - 节点获取 JSON 数据不可迭代
问题描述
我在TypeError: data.events is not iterable
使用fetch
从.JSON
API
我很确定这是我处理下面代码JSON
中的问题for (const event of data.events)
,但我在寻找修复方面做得很短。
const data = fetch(url, {
method: 'post',
headers: new Headers({
Authorization: 'Bearer ' + bearerToken,
'Content-Type': 'application/json'
})
});
for (const event of data.events) {
let fileNode;
try {
fileNode = await createRemoteFileNode({
url: logo.original.url,
cache,
store,
createNode,
createNodeId
});
} catch (error) {
console.warn('error creating node', error);
}
}
JSON
邮递员中的请求时间returned
为
{
"pagination": {
...
},
"events": [
{
"name": "Example One",
"logo": {
"original": {
"url": "exampleURL"
}
}
},
{
"name": "Example Two",
"logo": {
"original": {
"url": "exampleURL"
}
}
}
],
"location": {
...
}
}
目标是createRemoteFileNode
为每个事件从logo.original.url
解决方案
fetch() 返回一个承诺,因此data.events
在承诺的 fetch 解决之前不存在。以这种方式编辑您的代码:
fetch(url, {
method: 'post',
headers: new Headers({
Authorization: 'Bearer ' + bearerToken,
'Content-Type': 'application/json'
})
}).then(function(data){
for (const event of data.events) {
let fileNode;
try {
fileNode = await createRemoteFileNode({
url: logo.original.url,
cache,
store,
createNode,
createNodeId
});
} catch (error) {
console.warn('error creating node', error);
}
}
});
推荐阅读
- android - Firestore 快照侦听器:Recyclerview 未更新
- ruby-on-rails - 水豚中的随机错误,似乎源于水豚无法点击明显存在且可点击的链接?
- visual-c++ - 问题:Visual C MFC 对话框编辑器“无法返回新代码元素。可能是语法错误。新元素名称测试”
- odoo - 在 Odoo13 中创建 cron 任务
- c# - 带有网格的 ListView,每列包含 2 个对象
- java - 是否可以在 Delphi 中编写以下 Java 程序?
- java - 做UT的时候找到JDBC Driver,编译jar的时候找不到
- php - 如何使用 PHP 在 Firebase 中自动导入存储桶 - Google Cloud Storage
- javascript - React - 解析错误:意外的令牌,预期的“;”
- mysql - 当应用于 MySQL 表列中的变量时,+0E0 究竟做了什么?