محمود سعداوي2 نشر 19 فبراير 2022 أرسل تقرير نشر 19 فبراير 2022 أنا بصدد القيام بتمرين حول حالة الطقس كالآتي: أريد إدخال درجات الحرارة كل ثلاث ساعات. كود الجافا سكريبت: .then((data) => { // console.log(data) resultAPI = data; description.innerText = resultAPI.current.weather[0].description; temperature.innerText = `${Math.trunc(resultAPI.current.temp)} °C`; loc.innerText = resultAPI.timezone; tod.innerText = date + " - " + month + " - " + year; for (let i = 0; i < time.length; i++) { let varHour = hour + i * 3; if (varHour >= 24) { time[i].innerText = `${varHour - 24} h`; } else { time[i].innerText = varHour + " h"; } } console.log(resultAPI); for (let j = 0; j < value.length; j++) { value[j].innerText = `${Math.trunc(resultAPI.hourly[j * 3].temp)} °C`; } }); ملاحظة: الخطأ يوضحه console كالتالي: الغريب في الأمر أني عندما أستعمل فقط console لايظهر لي الخطأ. الأمر المحير أيضا أني إعتمدت نفس الطريقة في جلب البيانات لكن الخطأ يظهر فقط في السطر الأخير. كل الشكر و التقدير مسبقا. اقتباس
0 Wael Aljamal نشر 19 فبراير 2022 أرسل تقرير نشر 19 فبراير 2022 بتاريخ On 19/2/2022 at 19:44 قال محمود سعداوي: weather app.zipUnavailable أظهر المزيد المشكلة لديك هو أن قيمة resultAPI تكون undefined عند طلبها في العبارة البرمجية التي ظهر الخطأ بها. السبب هو أن الاتصال غير متزامن Async و الشيفرة البرمجية ليست بكامها ضمن then block أي مشكلة أقواس.. انقل القوسين من السطر 48 إلى السطر 66 .then((data) => { // console.log(data) resultAPI = data; description.innerText = resultAPI.current.weather[0].description; temperature.innerText = `${Math.trunc(resultAPI.current.temp)} °C`; loc.innerText = resultAPI.timezone; tod.innerText = date + " - " + month + " - " + year; for (let i = 0; i < time.length; i++) { let varHour = hour + i * 3; if (varHour >= 24) { time[i].innerText = `${varHour - 24} h`; } else { time[i].innerText = varHour + " h"; } } console.log(resultAPI); for (let j = 0; j < value.length; j++) { value[j].innerText = `${Math.trunc(resultAPI.hourly[j * 3].temp)} °C`; } }); الملف: main.js اقتباس
0 شرف الدين حفني نشر 19 فبراير 2022 أرسل تقرير نشر 19 فبراير 2022 برجاء إرفاق المشروع حتى نتمكن من معاينته بشكلٍ أفضل اقتباس
0 محمود سعداوي2 نشر 19 فبراير 2022 الكاتب أرسل تقرير نشر 19 فبراير 2022 كامل المشروع موجود على اللينك التالي على google drive https://drive.google.com/drive/folders/19hoy9dMb1wee9R53KEhI-ESdsbX4s5Wr?usp=sharing اقتباس
0 محمود سعداوي2 نشر 19 فبراير 2022 الكاتب أرسل تقرير نشر 19 فبراير 2022 بتاريخ On 19/2/2022 at 11:13 قال شرف الدين2: برجاء إرفاق المشروع حتى نتمكن من معاينته بشكلٍ أفضل أظهر المزيد عذرا لم أفهم بالضبط كيف يكون إرفاق المشروع اقتباس
0 Wael Aljamal نشر 19 فبراير 2022 أرسل تقرير نشر 19 فبراير 2022 بتاريخ On 19/2/2022 at 16:04 قال محمود سعداوي: عذرا لم أفهم بالضبط كيف يكون إرفاق المشروع أظهر المزيد يمكن إرفاق الملف مضغوط مباشرة في التعليق، الرابط يحتاج صلاحية وصول 1 اقتباس
0 محمود سعداوي2 نشر 19 فبراير 2022 الكاتب أرسل تقرير نشر 19 فبراير 2022 بتاريخ On 19/2/2022 at 17:55 قال Wael Aljamal: يمكن إرفاق الملف مضغوط مباشرة في التعليق، الرابط يحتاج صلاحية وصول أظهر المزيد رجاءا كيف يمكن ذلك اقتباس
0 Wael Aljamal نشر 19 فبراير 2022 أرسل تقرير نشر 19 فبراير 2022 بتاريخ On 19/2/2022 at 19:17 قال محمود سعداوي: رجاءا كيف يمكن ذلك أظهر المزيد يمكن ضغط أي مجلد بالطريقة التالية: ثم في التعليق نقوم بإرفاق الملف المضغوط أسفل هذه النص يوجد عبارة "اسحب الملفات إلى هنا أو اختر ملف" يمكنك من إرفاق ملفات 1 اقتباس
0 محمود سعداوي2 نشر 19 فبراير 2022 الكاتب أرسل تقرير نشر 19 فبراير 2022 بتاريخ On 19/2/2022 at 17:55 قال Wael Aljamal: يمكن إرفاق الملف مضغوط مباشرة في التعليق، الرابط يحتاج صلاحية وصول أظهر المزيد weather app.zipFetching info... 1 اقتباس
0 محمود سعداوي2 نشر 19 فبراير 2022 الكاتب أرسل تقرير نشر 19 فبراير 2022 بتاريخ On 19/2/2022 at 20:37 قال Wael Aljamal: المشكلة لديك هو أن قيمة resultAPI تكون undefined عند طلبها في العبارة البرمجية التي ظهر الخطأ بها. السبب هو أن الاتصال غير متزامن Async و الشيفرة البرمجية ليست بكامها ضمن then block أي مشكلة أقواس.. انقل القوسين من السطر 48 إلى السطر 66 .then((data) => { // console.log(data) resultAPI = data; description.innerText = resultAPI.current.weather[0].description; temperature.innerText = `${Math.trunc(resultAPI.current.temp)} °C`; loc.innerText = resultAPI.timezone; tod.innerText = date + " - " + month + " - " + year; for (let i = 0; i < time.length; i++) { let varHour = hour + i * 3; if (varHour >= 24) { time[i].innerText = `${varHour - 24} h`; } else { time[i].innerText = varHour + " h"; } } console.log(resultAPI); for (let j = 0; j < value.length; j++) { value[j].innerText = `${Math.trunc(resultAPI.hourly[j * 3].temp)} °C`; } }); الملف: main.jsFetching info... أظهر المزيد تم أحيانا خطأ قد تراه بسيط و لكن يأخذ منك الكثير من الوقت مضى أكثر من ثلاث أيام و أنا أحاول. شكرا جزيلا 1 اقتباس
السؤال
محمود سعداوي2
أنا بصدد القيام بتمرين حول حالة الطقس كالآتي:
أريد إدخال درجات الحرارة كل ثلاث ساعات.
كود الجافا سكريبت:
.then((data) => { // console.log(data) resultAPI = data; description.innerText = resultAPI.current.weather[0].description; temperature.innerText = `${Math.trunc(resultAPI.current.temp)} °C`; loc.innerText = resultAPI.timezone; tod.innerText = date + " - " + month + " - " + year; for (let i = 0; i < time.length; i++) { let varHour = hour + i * 3; if (varHour >= 24) { time[i].innerText = `${varHour - 24} h`; } else { time[i].innerText = varHour + " h"; } } console.log(resultAPI); for (let j = 0; j < value.length; j++) { value[j].innerText = `${Math.trunc(resultAPI.hourly[j * 3].temp)} °C`; } });
ملاحظة: الخطأ يوضحه console كالتالي:
كل الشكر و التقدير مسبقا.
9 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.