无法从此函数获取值
Not able to get the values from this function
提取工作正常,但是 "title" 数组在推送提取数据中的值后没有任何值。
function getdata(){
const title = [];
const body = [];
const url = 'https://jsonplaceholder.typicode.com/posts';
fetch(url)
.then(response => response.json())
.then(data => {
// console.log(data) /*This works just fine*/
data.forEach(posts => {
title.push(posts.title)
body.push(posts.body)
})
})
// const onlytentitle = title.slice(0,9);
// return onlytentitle;
return title;
}
const titled = getdata();
console.log(titled);
fetch
是一个异步函数,您正在从提取外部 return 获取标题,因此您的函数将 return 在提取请求完成之前获取标题。
试试这个。
function getdata() {
const title = [];
const body = [];
const url = "https://jsonplaceholder.typicode.com/posts";
return fetch(url)
.then(response => response.json())
.then(data => {
data.forEach(posts => {
title.push(posts.title);
body.push(posts.body);
});
return title;
});
}
(async function() {
const titled = await getdata();
console.log(titled);
})();
和async/await
async function getdata() {
const title = [];
const body = [];
const url = "https://jsonplaceholder.typicode.com/posts";
let response = await fetch(url);
let data = await response.json();
data.forEach(posts => {
title.push(posts.title);
body.push(posts.body);
});
return title;
}
(async function() {
const titled = await getdata();
console.log(titled);
})();
提取工作正常,但是 "title" 数组在推送提取数据中的值后没有任何值。
function getdata(){
const title = [];
const body = [];
const url = 'https://jsonplaceholder.typicode.com/posts';
fetch(url)
.then(response => response.json())
.then(data => {
// console.log(data) /*This works just fine*/
data.forEach(posts => {
title.push(posts.title)
body.push(posts.body)
})
})
// const onlytentitle = title.slice(0,9);
// return onlytentitle;
return title;
}
const titled = getdata();
console.log(titled);
fetch
是一个异步函数,您正在从提取外部 return 获取标题,因此您的函数将 return 在提取请求完成之前获取标题。
试试这个。
function getdata() {
const title = [];
const body = [];
const url = "https://jsonplaceholder.typicode.com/posts";
return fetch(url)
.then(response => response.json())
.then(data => {
data.forEach(posts => {
title.push(posts.title);
body.push(posts.body);
});
return title;
});
}
(async function() {
const titled = await getdata();
console.log(titled);
})();
和async/await
async function getdata() {
const title = [];
const body = [];
const url = "https://jsonplaceholder.typicode.com/posts";
let response = await fetch(url);
let data = await response.json();
data.forEach(posts => {
title.push(posts.title);
body.push(posts.body);
});
return title;
}
(async function() {
const titled = await getdata();
console.log(titled);
})();