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

    שאלת תם, איך ב node השרת יודע לעצור ולהמתין עד לקבלת תשובה מימות

    פורום מפתחים API
    3
    9
    182
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • הגיבו כנושא
    התחברו בכדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • ש
      שמואל ש. נערך לאחרונה על ידי

      אומרים פה כל הזמן שב node הכי קל לעבוד עם ימות כי אפשר לעשות שב read הוא לא ימשיך עד לקבלת תשובה מימות
      אני יודע שבnode יש כזה דבר להגיד לשרת להמתין עד לקבלת תשובה ואני מבין שבפעולה בשרת הוא כל הזמן על הקובץ וממשיך איתה כך שבהתקדמות הוא ממשיך את ה'שיחה' הנוכחית, אבל פה הרי בקבלת תשובה הוא לא ממשיך את הפעולה אלא קורא לשרת מחדש לגמרי, אז איך השרת יודע שהוא זה שאחז פה והוא אוחז בשורה X?
      ואיך הוא יודע לחכות לו? הרי זה הדפסה פשוטה ולא פונקצייה מסויימת?

      תודה רבה למסבירים
      @צדיק-תמים

      פ תגובה 1 תגובה אחרונה תגובה ציטוט 1
      • פ
        פיסטוק פרווה מומחה @שמואל ש. נערך לאחרונה על ידי

        @שמואל-ש
        כי אתה מגדיר שם "await" שזה אומר לשרת להמתין עד שתתקבל תשובה מהפונקצייה, והפונקצייה מתינה עד שהיא תקבל תשובה מימות

        ש תגובה 1 תגובה אחרונה תגובה ציטוט 0
        • ש
          שמואל ש. @פיסטוק פרווה נערך לאחרונה על ידי

          @פיסטוק-פרווה אבל

          @שמואל-ש כתב בשאלת תם, איך ב node השרת יודע לעצור ולהמתין עד לקבלת תשובה מימות:

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

          פ צ 2 תגובות תגובה אחרונה תגובה ציטוט 0
          • פ
            פיסטוק פרווה מומחה @שמואל ש. נערך לאחרונה על ידי

            @שמואל-ש
            יש ערכים שנקראים val_1 וכדו'
            ועד שלא מתקבלת פקודת ניתוק הם נשמרים

            ש תגובה 1 תגובה אחרונה תגובה ציטוט 0
            • ש
              שמואל ש. @פיסטוק פרווה נערך לאחרונה על ידי

              @פיסטוק-פרווה תוכל להסביר יותר?

              פ תגובה 1 תגובה אחרונה תגובה ציטוט 0
              • פ
                פיסטוק פרווה מומחה @שמואל ש. נערך לאחרונה על ידי

                @שמואל-ש
                מתי שהמשתמש מנתק את השיחה נשלח אל השרת ערך שמאפיין את הניתוק, ועד שלא התקבל הערך הזה, אז הערכים שנשלחו נשמרים לפי ה id של השיחה, לדוגמא אם היה id שהוא 12345 אז עד שלא הגיע הערך של ניתוק עם אותו id הנתונים שהוא שלח נשמרים.
                ולכן אם זאת שיחה חדשה (id אחר) זה לוקח נתונים מחדש

                ש תגובה 1 תגובה אחרונה תגובה ציטוט 0
                • ש
                  שמואל ש. @פיסטוק פרווה נערך לאחרונה על ידי

                  @פיסטוק-פרווה דהיינו אפילו שזה קריאה חדשה לגמרי הוא ממשיך מאיפה שאחז בגלל שזה אותו id של השיחה?
                  והוא יודע גם לפי זה איפה הוא אחז?

                  פ תגובה 1 תגובה אחרונה תגובה ציטוט 0
                  • פ
                    פיסטוק פרווה מומחה @שמואל ש. נערך לאחרונה על ידי

                    @שמואל-ש
                    בדיוק.

                    תגובה 1 תגובה אחרונה תגובה ציטוט 0
                    • צ
                      צדיק תמים מומחה @שמואל ש. נערך לאחרונה על ידי צדיק תמים

                      @שמואל-ש כתב בשאלת תם, איך ב node השרת יודע לעצור ולהמתין עד לקבלת תשובה מימות:

                      @פיסטוק-פרווה אבל

                      @שמואל-ש כתב בשאלת תם, איך ב node השרת יודע לעצור ולהמתין עד לקבלת תשובה מימות:

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

                      זה הטריק של הספריה. היא מתלבשת על מנגנון הראוטר של אקספרס
                      בעצם כשכותבים await call.read היא מחזיקה את הפונקציה "חיה" בהמתנה (שזה דבר שנוד מעולה בו, כל עניין האסינכרוניות) עד לקבלת בקשה נוספת עם אותו callId, ואז הPromise נפתר עם הערך שהתקבל בקריאה החדשה, והפונקציה ממשיכה בריצה.
                      וכך מבחינת המפתח אין שום איבוד נתונים, והפונקציה רצה מההתחלה לסוף לפי הסדר.

                      תגובה 1 תגובה אחרונה תגובה ציטוט 3
                      • פוסט ראשון
                        פוסט אחרון