Javascript 将JSON树导航到Reddit API中的数据
我会尽量保持简短。我现在是一名学生,一直试图从Reddit的首页检索前5篇文章,并在HTML页面上显示标题和URL。这可能是一件非常简单的事情,但我无法让它发挥作用。我想将数据从单个变量传递到我的Handlebar模板。我一直收到未处理的承诺警告。这是我的密码Javascript 将JSON树导航到Reddit API中的数据,javascript,json,api,reddit,Javascript,Json,Api,Reddit,我会尽量保持简短。我现在是一名学生,一直试图从Reddit的首页检索前5篇文章,并在HTML页面上显示标题和URL。这可能是一件非常简单的事情,但我无法让它发挥作用。我想将数据从单个变量传递到我的Handlebar模板。我一直收到未处理的承诺警告。这是我的密码 let url = 'https://www.reddit.com/.json?limit=5'; let settings = { method: "Get"}; let redditData = "&qu
let url = 'https://www.reddit.com/.json?limit=5';
let settings = { method: "Get"};
let redditData = ""
fetch(url, settings)
.then(res => res.json())
.then(data => {
redditData = [
{
title: data.children.data.title,
url: data.children.data.url_overriden_by_dest
}
];
});
数据
对象的结构与编码方式不同。以下是如何从第一个孩子身上提取所需信息:
let url = 'https://www.reddit.com/.json?limit=5';
let settings = { method: "Get"};
let redditData = ""
fetch(url, settings)
.then(res => res.json())
.then(data => {
redditData = [
{
title: data.data.children[0].data.title,
url: data.data.children[0].data.url_overriden_by_dest
}
];
});
您可能需要查看一些有关函数
fetch
如何工作的文档
另外,检查承诺是如何起作用的
也就是说,只有在Promise完成检索数据时,您才必须访问对象属性。一种方法是使用Promise.allSettled
函数
请参见以下代码段,其组织方式略有不同:
consturl=”https://www.reddit.com/.json?limit=5";
const promise=fetch(url).then(res=>res.json());
函数格式HandleBarsData(数据){
const childrenObj=data.value.data.children;
返回childrenObj.map(元素=>({
标题:element.data.title,
url:element.data.url
}));
}
承诺。全部结算([承诺])。然后([数据])=>{
const handlebarsData=格式化handlebarsData(数据);
//现在可以使用该对象了
控制台日志(把手数据);
});代码>太棒了。我能让它和你一起工作
let url = 'https://www.reddit.com/.json?limit=5';
let settings = { method: "Get"};
let redditData = ""
fetch(url, settings)
.then(res => res.json())
.then(data => {
redditData = [
{
title: data.data.children[0].data.title,
url: data.data.children[0].data.url_overriden_by_dest
}
];
});
谢谢 此外: