NODEJS עצירת המשך ביצוע פעולות
-
אז לפי הנראה הכי גמיש מבחינתי לכתוב בצורה הזאת:
var user_id; if (typeof (user_id = read('id')) === 'undefined') return false ; var name; if (typeof (name = read('name')) === 'undefined') return false ; fetch(`http://aaa.com?name=${name}&id=${id}`); res.end('id_list_message=נשלח בהצלחה'); function read(var_name){ if (query[var_name]){ return query[var_name]; }else{ return res.end('read=הקש זהות=id'); } }
אמנם זה קצת יותר קוד ממה שאני רגיל, אבל זה מספק לי את הגמישות שאני צריך.
-
@אהרן
user_id אמור לקבל ערך חוזר מ read, לכן לא עשיתי אותו כמו מה שכתבת.
וכן זה לא פעולה של חיבור לבסיס נתונים וכדומה שיש לי כאן מה לחכות, אלא זה פונקצית בדיקה, באם הערך קיים בURL זה מחזיר את ערכו, אחרת זה מדפיס למסך הוראה למערכת של ימות שיחזיר את הערך המבוקש ומפסיק את המשך הריצה (זה היה כל המטרה שלי בדיון כאן, לדעת איך אני עוצר את המשך הריצה במקרה שאני דורש מהמערכת שתחזיר לי ערך שעדיין לא קיים ב URL), ולכן אני לא רואה שום סיבה להכניס כאן await -
@חוקר
לגבי הawait אתה צודק, אך מלבד זה, אהרן הציע לך תחביר מקוצר ופשוט יותר.
אם הערך שחוזר מהפונקציה הtype שלו undefined, זה אומר שגם הערך עצמו הוא undefined.
ממילא אין כל מניעה מלכתוב כמו שאהרון הציע.
כנ"ל return false שקול לreturn, כי בjs אם הערך null , undefined או false זה אותו דבר (כל זמן שאתה לא משתמש ב===) -
@dovid אמר בNODEJS עצירת המשך ביצוע פעולות:
כל המקרים בהם יש {} לבלוק פקודות (כמו if, while וכו'), אפשר לוותר עליו אם זה שורה בודדת (למעט try).
אני מאוד מחבב את זה כשאפשר כי זה מוסיף קריאות לדעתיבמאמר המוסגר, יצא לי לראות לאחרונה בספר code complete שהוא טוען שגם בכזה מקרה עדיף בלוק, כי ברוב המקרים מוסיפים אח"כ עוד פקודות, ולא שמים לב שאין בלוק.
זה הפתיע גם אותי, כי גם אני הייתי כותב בשיטה הזו ומאד אהבתי את זה
-
@WWW 99% בדיוק בשביל יש כללים כדי שהקוד לא יהיה תלוי בקריזה של המתכנת ותמיד יובן ולא יהיו בעיות.
יש לי שתי סיבות למה אצלי אין חשש: א. בסטייל הרגיל של C#, מתי שעושים בלוק מתבזבזים שתי שורות ריקות כי ה } תופס שורה וממילא מתי שאין את השורה קל לקלוט שמדובר ב"נוסח הקצר". ב. הIDE מזיח אוטומטית וזה בולט לעין. -
@dovid אמר בNODEJS עצירת המשך ביצוע פעולות:
@WWW כולם מזיחים (אא"כ זה בשורה אחת שזה לגיטימי בדברים קצרים ביותר).
אבל הבעיה שהם מזיחים ידנית אז חזרה הבעיה... הם מוסיפים שורה תחת השורה המותנית בחושבם שגם היא תהיה בתנאי, והם מזיחים אותה בהתאם...אהה...
פשוט לא הבנתי אותך טוב. -
@dovid אמר בNODEJS עצירת המשך ביצוע פעולות:
יש לי שתי סיבות למה אצלי אין חשש: א. בסטייל הרגיל של C#, מתי שעושים בלוק מתבזבזים שתי שורות ריקות כי ה } תופס שורה וממילא מתי שאין את השורה קל לקלוט שמדובר ב"נוסח הקצר". ב. הIDE מזיח אוטומטית וזה בולט לעין.
הוא בדיוק דיבר על הנושא של הבלוק המבוזבז.
אבל בדקתי שובולכאורה הוא דיבר במעבר של שורה בודדת נוספת ולא באותה שורה כמו שהצעת. (שזו אכן דרך ממש נוחה)טוב, סתם הסתתי את הדיון כאן