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

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

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

ASYNC/AWAIT

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

    @מוטי-אורן
    תקנתי את הקוד
    הRESULT מודפס לפני MEM

    ש תגובה 1 תגובה אחרונה
    0
    • ש מנותק
      ש מנותק
      שרה רחל
      השיב לשרה רחל ב נערך לאחרונה על ידי
      #8

      @שרה-רחל
      הMEMBER מובא ע"י REST API

      yossizY תגובה 1 תגובה אחרונה
      0
      • yossizY מנותק
        yossizY מנותק
        yossiz
        השיב לשרה רחל ב נערך לאחרונה על ידי
        #9

        @שרה-רחל צריך להוסיף await או return לפני promise.all

        📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

        ש תגובה 1 תגובה אחרונה
        4
        • ש מנותק
          ש מנותק
          שרה רחל
          השיב לyossiz ב נערך לאחרונה על ידי
          #10

          @yossiz
          נכון זה עזר
          האמת שהPROMISE.ALL
          כבר היה חלק מהפתרון
          מה הוא בעצם פותר ?
          הוא לא אמור לבוא כשיש כמה קריאות אסיכרוניות?
          בפונקציה זו יש קריאה אחת בתוך הסוגריים של PROMISE.ALL
          אז איך זה פתר את הבעיה?

          dovidD תגובה 1 תגובה אחרונה
          0
          • dovidD מנותק
            dovidD מנותק
            dovid ניהול
            כתב ב נערך לאחרונה על ידי
            #11

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

            dovid.ovh מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

            בכל נושא אפשר ליצור קשר dovid@tchumim.com

            ש תגובה 1 תגובה אחרונה
            3
            • dovidD מנותק
              dovidD מנותק
              dovid ניהול
              השיב לשרה רחל ב נערך לאחרונה על ידי
              #12

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

              dovid.ovh מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

              בכל נושא אפשר ליצור קשר dovid@tchumim.com

              ש תגובה 1 תגובה אחרונה
              0
              • ש מנותק
                ש מנותק
                שרה רחל
                השיב לdovid ב נערך לאחרונה על ידי
                #13

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

                dovidD תגובה 1 תגובה אחרונה
                0
                • dovidD מנותק
                  dovidD מנותק
                  dovid ניהול
                  השיב לשרה רחל ב נערך לאחרונה על ידי
                  #14

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

                  dovid.ovh מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                  בכל נושא אפשר ליצור קשר dovid@tchumim.com

                  תגובה 1 תגובה אחרונה
                  2
                  • ש מנותק
                    ש מנותק
                    שרה רחל
                    השיב לdovid ב נערך לאחרונה על ידי
                    #15

                    @dovid
                    MEMBER:

                    Name: String,
                    Email: String,
                    City: String
                    

                    Subscriptions

                    MemberId: String,
                    Movies: [String]
                    

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

                    dovidD תגובה 1 תגובה אחרונה
                    0
                    • 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.ovh מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                      בכל נושא אפשר ליצור קשר dovid@tchumim.com

                      dovidD תגובה 1 תגובה אחרונה
                      1
                      • dovidD מנותק
                        dovidD מנותק
                        dovid ניהול
                        השיב ל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.ovh מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                        בכל נושא אפשר ליצור קשר dovid@tchumim.com

                        ש dovidD 2 תגובות תגובה אחרונה
                        1
                        • ש מנותק
                          ש מנותק
                          שרה רחל
                          השיב לdovid ב נערך לאחרונה על ידי
                          #18

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

                          dovidD תגובה 1 תגובה אחרונה
                          0
                          • dovidD מנותק
                            dovidD מנותק
                            dovid ניהול
                            השיב לdovid ב נערך לאחרונה על ידי
                            #19

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

                            dovid.ovh מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                            בכל נושא אפשר ליצור קשר dovid@tchumim.com

                            תגובה 1 תגובה אחרונה
                            0
                            • dovidD מנותק
                              dovidD מנותק
                              dovid ניהול
                              השיב לשרה רחל ב נערך לאחרונה על ידי
                              #20

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

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

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

                              dovid.ovh מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                              בכל נושא אפשר ליצור קשר dovid@tchumim.com

                              ש תגובה 1 תגובה אחרונה
                              0
                              • ש מנותק
                                ש מנותק
                                שרה רחל
                                השיב לdovid ב נערך לאחרונה על ידי שרה רחל
                                #21

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

                                dovidD תגובה 1 תגובה אחרונה
                                0
                                • dovidD מנותק
                                  dovidD מנותק
                                  dovid ניהול
                                  השיב לשרה רחל ב נערך לאחרונה על ידי
                                  #22

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

                                  dovid.ovh מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                  בכל נושא אפשר ליצור קשר dovid@tchumim.com

                                  ש תגובה 1 תגובה אחרונה
                                  0
                                  • ש מנותק
                                    ש מנותק
                                    שרה רחל
                                    השיב לdovid ב נערך לאחרונה על ידי
                                    #23

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

                                    dovidD תגובה 1 תגובה אחרונה
                                    0
                                    • dovidD מנותק
                                      dovidD מנותק
                                      dovid ניהול
                                      השיב לשרה רחל ב נערך לאחרונה על ידי
                                      #24

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

                                      dovid.ovh מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                      בכל נושא אפשר ליצור קשר dovid@tchumim.com

                                      ש תגובה 1 תגובה אחרונה
                                      0
                                      • ש מנותק
                                        ש מנותק
                                        שרה רחל
                                        השיב לdovid ב נערך לאחרונה על ידי שרה רחל
                                        #25

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

                                        ש תגובה 1 תגובה אחרונה
                                        0
                                        • ש מנותק
                                          ש מנותק
                                          שרה רחל
                                          השיב לשרה רחל ב נערך לאחרונה על ידי
                                          #26

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

                                          תגובה 1 תגובה אחרונה
                                          0

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

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

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