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