דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תוכנה
  3. ASYNC/AWAIT

ASYNC/AWAIT

מתוזמן נעוץ נעול הועבר תוכנה
26 פוסטים 4 כותבים 564 צפיות 3 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • dovidD dovid

    @שרה-רחל הפונקציה Promise.all מטפלת במקרה שיש הרבה await לעשות ואת רוצה לחכות שכולם יתבצעו ולקבל את התוצאות כמערך.

    ש מנותק
    ש מנותק
    שרה רחל
    כתב ב נערך לאחרונה על ידי
    #13

    @dovid
    אז איך במקרה זה מתאימה הפונקציה
    יש כאן רק קריאה אחת של AWAIT

    dovidD תגובה 1 תגובה אחרונה
    0
    • ש שרה רחל

      @dovid
      אז איך במקרה זה מתאימה הפונקציה
      יש כאן רק קריאה אחת של AWAIT

      dovidD מנותק
      dovidD מנותק
      dovid
      ניהול
      כתב ב נערך לאחרונה על ידי
      #14

      @שרה-רחל ss.map הופך את מערך הss למערך של פונקציות await, כל אחת מהסוג שכתובה בסוגריים... כלומר הטיפול של הפונקציה יתבצע מול כל פריט בעוד הוא נכתב כנראה במקור לטיפול בכלל המערך ביחד. אשמח לדעת מה הפונקציה עושה, נראה שהיא מאחדת בין שני רשימות שונות, ובנוסף מבקשת מהשרת השלמת מידע.

      • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
      • בכל נושא אפשר ליצור קשר dovid@tchumim.com
      תגובה 1 תגובה אחרונה
      2
      • dovidD dovid

        @שרה-רחל יש בקוד בעיה נוספת, הפונקציהבPromise.all נקראת עבור כל אחד מהפריטים ברשימה, ומחזירה עבור כל אחד או not-found או אובייקט משותף לכלל האיברים.
        הפונקציה הקוראת בודקת אם הערך הוא not-found אבל הוא לעולם לא יהיה not-found כי התוצאה של Promise.all היא תמיד מערך של תוצאות (בכל תוצאה יכול להיות not-found).
        בקיצור הפונקציה getSsForMembers צריכה כתיבה מחדש, אשמח לעזור אם אדע בגדול מה היא מנסה לעשות.

        ש מנותק
        ש מנותק
        שרה רחל
        כתב ב נערך לאחרונה על ידי
        #15

        @dovid
        MEMBER:

        Name: String,
        Email: String,
        City: String
        

        Subscriptions

        MemberId: String,
        Movies: [String]
        

        הפונקציה getAllMembers
        מציגה את כל הלקוחות אבל אמורה לבדוק אם יש להם מנוי לסרטונים
        לכן היא מטעינה את כל המנויים ועבור כל מנוי שולחים לפונקציה השניה getSsForMembers
        שם בודקת אם יש למנוי _ID שמתאים לאאחד מה MemberId של המנויים
        ומחזירה את המערך של כל המנויים .
        קוראים לפונקציה getAllMembers פעם אחת

        dovidD תגובה 1 תגובה אחרונה
        0
        • ש שרה רחל

          @dovid
          MEMBER:

          Name: String,
          Email: String,
          City: String
          

          Subscriptions

          MemberId: String,
          Movies: [String]
          

          הפונקציה getAllMembers
          מציגה את כל הלקוחות אבל אמורה לבדוק אם יש להם מנוי לסרטונים
          לכן היא מטעינה את כל המנויים ועבור כל מנוי שולחים לפונקציה השניה getSsForMembers
          שם בודקת אם יש למנוי _ID שמתאים לאאחד מה MemberId של המנויים
          ומחזירה את המערך של כל המנויים .
          קוראים לפונקציה getAllMembers פעם אחת

          dovidD מנותק
          dovidD מנותק
          dovid
          ניהול
          כתב ב נערך לאחרונה על ידי
          #16

          @שרה-רחל אני לא לגמרי מבין, כתבתי שלד קוד שלכאורה עושה כל מה שקיים כעת, תוכלי לומר מה חסר בו?

          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@tchumim.com
          dovidD תגובה 1 תגובה אחרונה
          1
          • dovidD dovid

            @שרה-רחל אני לא לגמרי מבין, כתבתי שלד קוד שלכאורה עושה כל מה שקיים כעת, תוכלי לומר מה חסר בו?

            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;
            }
            
            dovidD מנותק
            dovidD מנותק
            dovid
            ניהול
            כתב ב נערך לאחרונה על ידי
            #17

            @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@tchumim.com
            ש dovidD 2 תגובות תגובה אחרונה
            1
            • dovidD dovid

              @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;
              }
              
              ש מנותק
              ש מנותק
              שרה רחל
              כתב ב נערך לאחרונה על ידי
              #18

              @dovid
              נראה נכון
              אני כבר בודקת
              רק מענין אותי למה בקוד הראשוני ששמתי (תקנתיקצת)
              הfinalMmArr מדפיס תוכן
              בזמן שהRESULT מדפיס אחרי כן UNDEFINDED

              dovidD תגובה 1 תגובה אחרונה
              0
              • dovidD dovid

                @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;
                }
                
                dovidD מנותק
                dovidD מנותק
                dovid
                ניהול
                כתב ב נערך לאחרונה על ידי
                #19

                חיסרתי את העיקר לכאורה שזה הawait membersRest.getMember(memId); אבל עשיתי זאת במודע, כי אני לא מבין מה הוא מביא (מה היה קודם ומה הוא מחליף/מוסיף).

                • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                תגובה 1 תגובה אחרונה
                0
                • ש שרה רחל

                  @dovid
                  נראה נכון
                  אני כבר בודקת
                  רק מענין אותי למה בקוד הראשוני ששמתי (תקנתיקצת)
                  הfinalMmArr מדפיס תוכן
                  בזמן שהRESULT מדפיס אחרי כן UNDEFINDED

                  dovidD מנותק
                  dovidD מנותק
                  dovid
                  ניהול
                  כתב ב נערך לאחרונה על ידי
                  #20

                  @שרה-רחל אמר בASYNC/AWAIT:

                  @dovid
                  נראה נכון
                  אני כבר בודקת
                  רק מענין אותי למה בקוד הראשוני ששמתי (תקנתיקצת)
                  הfinalMmArr מדפיס תוכן
                  בזמן שהRESULT מדפיס אחרי כן UNDEFINDED

                  לפני התיקון של @yossiz (לשים return או await) זה לא הגיוני שהוא הדפיס not-found.
                  אחרי התיקון, הוא היה אמור להדפיס את זה אבל בתוך מערך [.... .... "not-found"]

                  • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                  • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                  ש תגובה 1 תגובה אחרונה
                  0
                  • dovidD dovid

                    @שרה-רחל אמר בASYNC/AWAIT:

                    @dovid
                    נראה נכון
                    אני כבר בודקת
                    רק מענין אותי למה בקוד הראשוני ששמתי (תקנתיקצת)
                    הfinalMmArr מדפיס תוכן
                    בזמן שהRESULT מדפיס אחרי כן UNDEFINDED

                    לפני התיקון של @yossiz (לשים return או await) זה לא הגיוני שהוא הדפיס not-found.
                    אחרי התיקון, הוא היה אמור להדפיס את זה אבל בתוך מערך [.... .... "not-found"]

                    ש מנותק
                    ש מנותק
                    שרה רחל
                    כתב ב נערך לאחרונה על ידי שרה רחל
                    #21

                    @dovid
                    לפני הGETMEMBER
                    יש רק את הID שלו
                    ואני רוצה ליצור JSON שמכיל גם את הפרטים שלו

                    dovidD תגובה 1 תגובה אחרונה
                    0
                    • ש שרה רחל

                      @dovid
                      לפני הGETMEMBER
                      יש רק את הID שלו
                      ואני רוצה ליצור JSON שמכיל גם את הפרטים שלו

                      dovidD מנותק
                      dovidD מנותק
                      dovid
                      ניהול
                      כתב ב נערך לאחרונה על ידי
                      #22

                      @שרה-רחל לא היה לפני כן City וכל זה? ורק למי שיש הרשמה לMovie צריך את הפרטים או לכולם?
                      לא עדיף שהשרת בgetAllMembers ייתן פרטים מלאים?

                      • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                      • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                      ש תגובה 1 תגובה אחרונה
                      0
                      • dovidD dovid

                        @שרה-רחל לא היה לפני כן City וכל זה? ורק למי שיש הרשמה לMovie צריך את הפרטים או לכולם?
                        לא עדיף שהשרת בgetAllMembers ייתן פרטים מלאים?

                        ש מנותק
                        ש מנותק
                        שרה רחל
                        כתב ב נערך לאחרונה על ידי
                        #23

                        @dovid
                        זה הדרישה של הפרויקט

                        dovidD תגובה 1 תגובה אחרונה
                        0
                        • ש שרה רחל

                          @dovid
                          זה הדרישה של הפרויקט

                          dovidD מנותק
                          dovidD מנותק
                          dovid
                          ניהול
                          כתב ב נערך לאחרונה על ידי
                          #24

                          @שרה-רחל ענית לי רק על השאלה האחרונה...

                          • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                          • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                          ש תגובה 1 תגובה אחרונה
                          0
                          • dovidD dovid

                            @שרה-רחל ענית לי רק על השאלה האחרונה...

                            ש מנותק
                            ש מנותק
                            שרה רחל
                            כתב ב נערך לאחרונה על ידי שרה רחל
                            #25

                            @dovid
                            בSUSCRIPTION
                            יש את הID של הMEMBER
                            ומערך של MOVIES שמכיל רק את הID'S
                            וחוץ מזה יש גם
                            MOVIES שמכיל ID ועוד כמה פרטים
                            וMEMBER שמכיל ID
                            CITY
                            EMAIL
                            NAME

                            ש תגובה 1 תגובה אחרונה
                            0
                            • ש שרה רחל

                              @dovid
                              בSUSCRIPTION
                              יש את הID של הMEMBER
                              ומערך של MOVIES שמכיל רק את הID'S
                              וחוץ מזה יש גם
                              MOVIES שמכיל ID ועוד כמה פרטים
                              וMEMBER שמכיל ID
                              CITY
                              EMAIL
                              NAME

                              ש מנותק
                              ש מנותק
                              שרה רחל
                              כתב ב נערך לאחרונה על ידי
                              #26

                              @dovid
                              עדיין מענין אותי מה קורה בפונקציה הנ"ל שכתבתי
                              מדוע הערך חוזר כUNDEFINDE
                              בזמן שלפני החזרה הוא כן מדפיס לי תוכן

                              תגובה 1 תגובה אחרונה
                              0
                              תגובה
                              • תגובה כנושא
                              התחברו כדי לפרסם תגובה
                              • מהישן לחדש
                              • מהחדש לישן
                              • הכי הרבה הצבעות


                              • 1
                              • 2
                              בא תתחבר לדף היומי!
                              • התחברות

                              • אין לך חשבון עדיין? הרשמה

                              • התחברו או הירשמו כדי לחפש.
                              • פוסט ראשון
                                פוסט אחרון
                              0
                              • דף הבית
                              • קטגוריות
                              • פוסטים אחרונים
                              • משתמשים
                              • חיפוש
                              • חוקי הפורום