リティックAnchaliya:
フェッチは罰金を動作しますが、「タイトル」配列は、フェッチデータから値を押した後、その中に値がありません。
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);
Sohail:
fetch
非同期機能であり、あなたは、あなたの関数がタイトルを返しますので、フェッチする前に、フェッチ要求の完全な外部からタイトルを戻ってきています。
これを試して。
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);
})();