קריאה אסינכרונית משרת HTTP בGO
-
@nigun אמר בקריאה אסינכרונית משרת HTTP בGO:
מה יקרה אם אני יעשה דף login עם פיבר
בהרבה מקרים ה-handler לא יחזור עם תשובה עד שסיימת לעבד את הנתונים שקיבלת בבקשה, כל כמה שה-handler לא חזר, אתה יכול להיות בטוח שביטים לא השתנו מאחורי גבך.
לדוגמה במקרה שלך של דף לוגין, הרי לא תחזיר תשובה עד שבדקת את הנתונים מול ה-DB.
הבעיה מתחילה רק כאשר אתה עושה משהו מצורה אסינכרונית ומיד משיב תשובה מבלי לחכות לגמר הפעולה.
נמצינו למדים שיש עוד דרך לעקוף בעיה זו (עד שיהיה פתרון נורמלי), והיינו להשהות את ה-handler עד אשר ייגמרו כל הפעולות האסינכרוניות.
(נראה לי שלא צריך להשהות את התשובה, מספיק להשהות את ה-return של ה-handler. צריך לבדוק אם זה נכון)