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

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

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

קבלת ערכים מפרומיז שמתקבל בשימוש בawait

מתוזמן נעוץ נעול הועבר תכנות
10 פוסטים 3 כותבים 156 צפיות 1 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • chagoldC מנותק
    chagoldC מנותק
    chagold
    כתב ב נערך לאחרונה על ידי
    #1

    אני עושה פונקציה כזו,

     async function f() {
     
     			let response = await fetch('get_aray.php');
     
     			//console.log(response.json())
     
     			return response.json();
     
     		}
    

    ומקבל חזרה פרומייז

    0c2fa6ad-dd5c-401d-af5c-2de3c4c3ede9-image.png

    איך אני ניגש לפרומיז לקבל את הערך?
    תודה

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

      כמו כל פרומייז. או שאתה מצמיד פונקציה ל-then שלו. או שאתה משתמש ב-await.

      //אופציה 1
      f().then(json=>console.log);
      //אופציה 2
      console.log(await f());
      

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

      תגובה 1 תגובה אחרונה
      3
      • chagoldC מנותק
        chagoldC מנותק
        chagold
        כתב ב נערך לאחרונה על ידי
        #3

        השתמשתי באופציה השניה.
        אחרי שקיבלתי את הנתונים, אני רוצה לעבור על הarray עם for קלאסי,
        אבל הוא לא מכיר ב-length. לדוגמא כאן

         for (i = 0; i < Jobs.length; i++) { 
         
        ....     
        
        }
        

        השגיאה היא
        0b2b8d8c-8245-4534-8ea0-f40655ba0925-image.png

        תגובה 1 תגובה אחרונה
        0
        • chagoldC מנותק
          chagoldC מנותק
          chagold
          כתב ב נערך לאחרונה על ידי chagold
          #4

          עשיתי ככה:

          function aaaa(Jobs) {
               for (i = 0; i < Jobs.length; i++) { 
          
           ....     
          
           	}
           };
          

          ועזר.
          זה מה שאמור להיות רשמי?

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

            @chagold אם מישהו יידע לעזור לך הוא ממש נביא.

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

              @chagold אם מישהו יידע לעזור לך הוא ממש נביא.

              chagoldC מנותק
              chagoldC מנותק
              chagold
              כתב ב נערך לאחרונה על ידי chagold
              #6

              @dovid זה הפונקציה המלאה.
              כדי שהjobs יגיע לשלב של הfor כשהוא עם ערך אני חייב להכניס אותו לפונקציה, או שיש אפשרות אחרת?
              תודה.

               async function insert_jobs() {
                        var Jobs = await f();
                        var JobsARR =[];
                        
                         function aaaa(Jobs) {
                           for (i = 0; i < Jobs.length; i++) { 
                               obj = {'value' : Jobs[i]['id']};
                               JobsARR.push(obj);
                        }
                 };
               
                 return JobsARR;
                 
              }
              
              yossizY dovidD 2 תגובות תגובה אחרונה
              0
              • chagoldC chagold

                @dovid זה הפונקציה המלאה.
                כדי שהjobs יגיע לשלב של הfor כשהוא עם ערך אני חייב להכניס אותו לפונקציה, או שיש אפשרות אחרת?
                תודה.

                 async function insert_jobs() {
                          var Jobs = await f();
                          var JobsARR =[];
                          
                           function aaaa(Jobs) {
                             for (i = 0; i < Jobs.length; i++) { 
                                 obj = {'value' : Jobs[i]['id']};
                                 JobsARR.push(obj);
                          }
                   };
                 
                   return JobsARR;
                   
                }
                
                yossizY מנותק
                yossizY מנותק
                yossiz
                כתב ב נערך לאחרונה על ידי
                #7

                @chagold

                איפה אתה לפונקציה aaaa?

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

                תגובה 1 תגובה אחרונה
                2
                • chagoldC chagold

                  @dovid זה הפונקציה המלאה.
                  כדי שהjobs יגיע לשלב של הfor כשהוא עם ערך אני חייב להכניס אותו לפונקציה, או שיש אפשרות אחרת?
                  תודה.

                   async function insert_jobs() {
                            var Jobs = await f();
                            var JobsARR =[];
                            
                             function aaaa(Jobs) {
                               for (i = 0; i < Jobs.length; i++) { 
                                   obj = {'value' : Jobs[i]['id']};
                                   JobsARR.push(obj);
                            }
                     };
                   
                     return JobsARR;
                     
                  }
                  
                  dovidD מחובר
                  dovidD מחובר
                  dovid
                  ניהול
                  כתב ב נערך לאחרונה על ידי dovid
                  #8

                  @chagold אין סיבה שתצטרך פונקציה. וכמו ש@yossiz שואל הקוד שלך ודאי לא אמור לעבוד.

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

                    צודקים. אני רואה שהיתה לי טעות צדדית שגרמה לי לחשוב שזה עבד.
                    למעשה, בלי הפונקציה, איך אני מונע את השגיאה של הlength בfor

                    כשהפונקציה היא ככה:

                    async function insert_jobs() {
                          var Jobs = await f();
                          var JobsARR =[];
                              
                          for (i = 0; i < Jobs.length; i++) { 
                            obj = {'value' : Jobs[i]['id']};
                            JobsARR.push(obj);  
                          };
                     
                    return JobsARR;   
                    }
                    
                    תגובה 1 תגובה אחרונה
                    0
                    • dovidD מחובר
                      dovidD מחובר
                      dovid
                      ניהול
                      כתב ב נערך לאחרונה על ידי dovid
                      #10

                      כנראה הf לא מכיל מערך.
                      תדפיס אותו לקונסול ותראה מה יוצא.

                      נ.ב. בשביל מה שאתה עושה אפשר לעשות בלי לולאה באופן הבא:

                      var JobsARR = Jobs.Map(function(x) { return {'value' : x['id']}; });
                      

                      הפונקציה Map עושה מה שנקרא project, היא מחזירה מערך חדש תואם למקור כשהפונקציה קובעת מה יהיה בכל איבר במערך.

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


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

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

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