نعم بس هي خارج الفاكشن
let obj = {
table: []
};
اذا طبعت الـ obj بيعطني ليستات من الAPI الي خزنت عليه اسامي انميات:
{
"table": [
{
"name": "Kimi ga Nozomu Eien"
},
{
"name": "Kita e.: Diamond Dust Drops"
},
{
"name": "Loveless"
},
{
"name": "Blood+"
},
{
"name": "Re: Cutey Honey"
},
{
"name": "Solty Rei"
},
{
"name": "Juuni Kokuki"
},
{
"name": "Shaman King"
},
{
"name": "X/1999"
},
{
"name": "X"
},
{
"name": "Mahou Sensei Negima!"
},
{
"name": "Maria-sama ga Miteru"
},
{
"name": "Boukyaku no Senritsu"
},
{
"name": "Ima, Soko ni Iru Boku"
},
{
"name": "Peace Maker Kurogane"
},
{
"name": "Pita Ten"
},
{
"name": "Power Stone"
},
{
"name": "Mononoke Hime"
},
{
"name": "RahXephon"
},
{
"name": "Samurai 7"
},
{
"name": "Scrapped Princess"
},
{
"name": "s.CRY.ed"
},
{
"name": "Shingetsutan Tsukihime"
},
{
"name": "Slam Dunk"
},
{
"name": "Strange Dawn"
}
]
}
الفكره انا كنت ابغاه مايشيل المعلومات من الجيسون اذا السيرفر مثال انطفئ فابغي المعلومات قديمه تضل بلجيسون ويضل يضيف معلومات الثانيه الي هي ( جديد) عشان بعدين أنا بسوي فحص اذا فيه Duplicate" بل اسامي اوبجيكت مايضيفهم
ذا الكود جديد عدلت عليه + اني اجرب بملف الجيسون اذا اقدر اطبع الكلمه test 25 مره
do {
await timer(1500);
i++;
console.log(i);
if (i === page_number) { // check if index reached last page
i=1
}
fs.writeFile('saveindex.txt', i, (err2) => {
if (err2) throw console.log(err2);
});
let pageID = await fetch('https://api.jikan.moe/v4/anime?page='+i); // كل صفحه واحد تحتوي علي 25 مصفوف
let getAnimes = await pageID.json()
if (getAnimes.data) {
getAnimes.data.forEach(async details => {
let currentPage = details.title;
const dataFile = fs.readFileSync('data.json', 'utf8')
if (dataFile === '') { // check if file json empty
try {
obj.table.push({name: details.title})
let encodeJson = await JSON.stringify(obj);
fs.writeFileSync("data.json", encodeJson)
console.log('file is empty')
} catch(err) {
console.log(err);
}
} else {
//read data with JSON from file
try {
let decodeJson = await JSON.parse(dataFile);
decodeJson.table.push({name : 'test'})
console.log(decodeJson); // جربت هنا طبعت اذا بيطبع لي test 25 مره ولا بس مادري ليش طبع لي مره واحد
//fs.writeFileSync('data.json', JSON.stringify(obj))
} catch (err) {
console.log(err);
}
}
})
}
} while(i<=page_number);