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

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

Vue | async data()

מתוזמן נעוץ נעול הועבר תכנות
7 פוסטים 3 כותבים 130 צפיות
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • Men770M מנותק
    Men770M מנותק
    Men770
    כתב ב נערך לאחרונה על ידי
    #1

    התחלתי אתמול ללמוד vue, והסתבכתי עכשיו.
    אני מנסה לקבל מידע מ-API דרך פונקציית data, ולא מצליח.
    אני לוקח את המידע עם fetch, ומקבל Promise.
    אם אני עושה ככה:

    const data = fetch(config.apiEndpoint + 'book/' + this.$route.params.name).then(res => res.json())
    return {
      book: data.book
    }
    

    data הוא undefined, כי המידע עוד לא התקבל.
    אם אני עושה את זה עם async / await, הפונקציה מחזירה Promise, וvue צריך שהפונקציה תחזיר object..
    מה עושים?

    יחי אדוננו מורנו ורבינו מלך המשיח לעולם ועד!

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

    ב"ה הסתדרתי לפי הדוגמא כאן.

    יחי אדוננו מורנו ורבינו מלך המשיח לעולם ועד!

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

    @men770 לא מסכים עם השאלה, עם await צריך לעבוד מעולה ככה:

    const data = await fetch(config.apiEndpoint + 'book/' + this.$route.params.name).then(res => res.json())
    return {
      book: data.book
    }
    

    או:

    var root =  {
      book: data.book
    }
    
    fetch(config.apiEndpoint + 'book/' + this.$route.params.name)
            .then(res => res.json())
            .then(x => root.book = x.book);
    
    return root;
    

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

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

    @dovid אמר בVue | async data():

    @men770 לא מסכים עם השאלה, עם await צריך לעבוד מעולה ככה:

    const data = await fetch(config.apiEndpoint + 'book/' + this.$route.params.name).then(res => res.json())
    return {
      book: data.book
    }
    

    כתבתי שזה לא עובד, כי בדקתי וזה לא עבד..
    כשאני עושה את הפונקציה של data בתור async, ‏vue מחזיר שגיאה, כי הפונקציה data צריכה להחזיר object, והיא מחזירה Promise.

    יחי אדוננו מורנו ורבינו מלך המשיח לעולם ועד!

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

    @men770 אז הבעיה היא חתימת הפונקציה, כלומר קוד שבכלל לא הבאת פה, גם אם יש לזה פתרון אני לא יודע לומר אותו.

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

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

    @Men770

    תגדיר בdata משתנה עם ערך ריק
    ואחרי זה תכניס את הפונקציה לתוך mounted
    לדוגמא:

    mounted() {
    fetch(config.apiEndpoint + 'book/' + this.$route.params.name).then(res => res.json())
    }
    

    ואחרי זה אתה מוסיף שורה שמכניסה את ה Json לתוך המשתנה שהגדרת

    מקווה שהסברתי מספיק טוב!

    מערכת שעות עבודה, https://timess.co.il/
    בלוג הקוד שלי: https://yossef7525.github.io/

    katzK תגובה 1 תגובה אחרונה
    3
  • katzK מנותק
    katzK מנותק
    katz
    השיב לkatz ב נערך לאחרונה על ידי katz
    #7

    @katz אמר בVue | async data():

    @Men770

    תגדיר בdata משתנה עם ערך ריק
    ואחרי זה תכניס את הפונקציה לתוך mounted
    לדוגמא:

    mounted() {
    fetch(config.apiEndpoint + 'book/' + this.$route.params.name).then(res => res.json())
    }
    

    ואחרי זה אתה מוסיף שורה שמכניסה את ה Json לתוך המשתנה שהגדרת

    מקווה שהסברתי מספיק טוב!

    אחרי זה ראיתי שכבר הסתדרת עם הרעיון הזה, סליחה על התגובה המאוחרת

    מערכת שעות עבודה, https://timess.co.il/
    בלוג הקוד שלי: https://yossef7525.github.io/

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

  • התחברות

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

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

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

  • התחברו או הירשמו כדי לחפש.