קבלת ערכים מפרומיז שמתקבל בשימוש בawait
-
-
כמו כל פרומייז. או שאתה מצמיד פונקציה ל-then שלו. או שאתה משתמש ב-await.
//אופציה 1 f().then(json=>console.log); //אופציה 2 console.log(await f()); -
-
עשיתי ככה:
function aaaa(Jobs) { for (i = 0; i < Jobs.length; i++) { .... } }; ועזר.
זה מה שאמור להיות רשמי? -
@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; } -
צודקים. אני רואה שהיתה לי טעות צדדית שגרמה לי לחשוב שזה עבד.
למעשה, בלי הפונקציה, איך אני מונע את השגיאה של ה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; } -
כנראה הf לא מכיל מערך.
תדפיס אותו לקונסול ותראה מה יוצא.נ.ב. בשביל מה שאתה עושה אפשר לעשות בלי לולאה באופן הבא:
var JobsARR = Jobs.Map(function(x) { return {'value' : x['id']}; });
הפונקציה Map עושה מה שנקרא project, היא מחזירה מערך חדש תואם למקור כשהפונקציה קובעת מה יהיה בכל איבר במערך.
10/10