ASYNC/AWAIT
-
@dovid
MEMBER:Name: String, Email: String, City: String
Subscriptions
MemberId: String, Movies: [String]
הפונקציה getAllMembers
מציגה את כל הלקוחות אבל אמורה לבדוק אם יש להם מנוי לסרטונים
לכן היא מטעינה את כל המנויים ועבור כל מנוי שולחים לפונקציה השניה getSsForMembers
שם בודקת אם יש למנוי _ID שמתאים לאאחד מה MemberId של המנויים
ומחזירה את המערך של כל המנויים .
קוראים לפונקציה getAllMembers פעם אחת@שרה-רחל אני לא לגמרי מבין, כתבתי שלד קוד שלכאורה עושה כל מה שקיים כעת, תוכלי לומר מה חסר בו?
const getAllMembers = async function () { let members = await membersRest.getAllMembers(); let membersArr = members.data.map(z => { return { _id: z._id, Name: z.Name, Email: z.Email, City: z.City, Movies: [] } }); let ss = await subscriptionRest.getSubscriptions(); let ssData = ss.data; for (const sub of ss.data) { var memberFind = membersArr.find(x => x._id == sub.MemberID); if (memberFind) memberFind.Movies = sub.Movies; else console.log(`the member ${sub.MemberID} not found in the members list, but have subscrition!`) } return membersArr; }
-
@שרה-רחל אני לא לגמרי מבין, כתבתי שלד קוד שלכאורה עושה כל מה שקיים כעת, תוכלי לומר מה חסר בו?
const getAllMembers = async function () { let members = await membersRest.getAllMembers(); let membersArr = members.data.map(z => { return { _id: z._id, Name: z.Name, Email: z.Email, City: z.City, Movies: [] } }); let ss = await subscriptionRest.getSubscriptions(); let ssData = ss.data; for (const sub of ss.data) { var memberFind = membersArr.find(x => x._id == sub.MemberID); if (memberFind) memberFind.Movies = sub.Movies; else console.log(`the member ${sub.MemberID} not found in the members list, but have subscrition!`) } return membersArr; }
@dovid גם הקוד הזה ארוך מידי, כי אני שם לב שהMap הראשון לא עושה כלום, הקוד הזה שקול:
const getAllMembers = async function () { let membersArr = await membersRest.getAllMembers(); let ss = await subscriptionRest.getSubscriptions(); let ssData = ss.data; for (const sub of ss.data) { var memberFind = membersArr.find(x => x._id == sub.MemberID); if (memberFind) memberFind.Movies = sub.Movies; else console.log(`the member ${sub.MemberID} not found in the members list, but have subscrition!`) } return membersArr; }
-
@dovid גם הקוד הזה ארוך מידי, כי אני שם לב שהMap הראשון לא עושה כלום, הקוד הזה שקול:
const getAllMembers = async function () { let membersArr = await membersRest.getAllMembers(); let ss = await subscriptionRest.getSubscriptions(); let ssData = ss.data; for (const sub of ss.data) { var memberFind = membersArr.find(x => x._id == sub.MemberID); if (memberFind) memberFind.Movies = sub.Movies; else console.log(`the member ${sub.MemberID} not found in the members list, but have subscrition!`) } return membersArr; }
-
@dovid גם הקוד הזה ארוך מידי, כי אני שם לב שהMap הראשון לא עושה כלום, הקוד הזה שקול:
const getAllMembers = async function () { let membersArr = await membersRest.getAllMembers(); let ss = await subscriptionRest.getSubscriptions(); let ssData = ss.data; for (const sub of ss.data) { var memberFind = membersArr.find(x => x._id == sub.MemberID); if (memberFind) memberFind.Movies = sub.Movies; else console.log(`the member ${sub.MemberID} not found in the members list, but have subscrition!`) } return membersArr; }
-
@dovid
נראה נכון
אני כבר בודקת
רק מענין אותי למה בקוד הראשוני ששמתי (תקנתיקצת)
הfinalMmArr מדפיס תוכן
בזמן שהRESULT מדפיס אחרי כן UNDEFINDED@שרה-רחל אמר בASYNC/AWAIT:
@dovid
נראה נכון
אני כבר בודקת
רק מענין אותי למה בקוד הראשוני ששמתי (תקנתיקצת)
הfinalMmArr מדפיס תוכן
בזמן שהRESULT מדפיס אחרי כן UNDEFINDEDלפני התיקון של @yossiz (לשים return או await) זה לא הגיוני שהוא הדפיס not-found.
אחרי התיקון, הוא היה אמור להדפיס את זה אבל בתוך מערך [.... .... "not-found"] -
@שרה-רחל אמר בASYNC/AWAIT:
@dovid
נראה נכון
אני כבר בודקת
רק מענין אותי למה בקוד הראשוני ששמתי (תקנתיקצת)
הfinalMmArr מדפיס תוכן
בזמן שהRESULT מדפיס אחרי כן UNDEFINDEDלפני התיקון של @yossiz (לשים return או await) זה לא הגיוני שהוא הדפיס not-found.
אחרי התיקון, הוא היה אמור להדפיס את זה אבל בתוך מערך [.... .... "not-found"] -
@שרה-רחל לא היה לפני כן City וכל זה? ורק למי שיש הרשמה לMovie צריך את הפרטים או לכולם?
לא עדיף שהשרת בgetAllMembers ייתן פרטים מלאים? -
@dovid
בSUSCRIPTION
יש את הID של הMEMBER
ומערך של MOVIES שמכיל רק את הID'S
וחוץ מזה יש גם
MOVIES שמכיל ID ועוד כמה פרטים
וMEMBER שמכיל ID
CITY
EMAIL
NAME