פעולה סינכרונית nodejs
-
@חוקר
אם global הוא אובייקט, אתה יכול להמיר אותו למערך ולהעביר אותו ישירות לפרומיס.all וא"צ ליצור עוד מערך של פרומיסס.Promise.all(Object.keys(global).map(k=>global[k]))זה אמור להחזיר לך מערך של כל הפרומיסים שדחפת לגלובל
@avr416 אמר בפעולה סינכרונית nodejs:
@חוקר
אם global הוא אובייקט, אתה יכול להמיר אותו למערך ולהעביר אותו ישירות לפרומיס.all וא"צ ליצור עוד מערך של פרומיסס.Promise.all(Object.keys(global).map(k=>global[k]))זה אמור להחזיר לך מערך של כל הפרומיסים שדחפת לגלובל
בכל מקרה, אני חוזר בי..
הדרך שלך עדיפה מבחינת ביצועים על ההצעה שלי. כי אתה עשית הכל בלולאה אחת, ואני הוספתי לך כאן עוד כמה (מאחורי הקלעים..) -
@חוקר אם אתה רוצה בתוצאת הפרומיס נתון נוסף ממה שהוא מחזיר במקור, אתה יכול להוסיף את הנתון בthen שבעצם יוצר פרומייז נוסף בהסתיים הראשון:
var promises = []; for (let i =0;i<3;i++) { console.log('files'+i); var pr = ftp.list($`/limudklali/${HDate.getFullYear()}/${Month_arr[HDate.getMonth()]}/`) .then(x => { return {source: i, result: x} })); promises.push(pr); } Promise.all(promises).then(function(values) { ftp.end(); console.log(values); }); -
@חוקר אם אתה רוצה בתוצאת הפרומיס נתון נוסף ממה שהוא מחזיר במקור, אתה יכול להוסיף את הנתון בthen שבעצם יוצר פרומייז נוסף בהסתיים הראשון:
var promises = []; for (let i =0;i<3;i++) { console.log('files'+i); var pr = ftp.list($`/limudklali/${HDate.getFullYear()}/${Month_arr[HDate.getMonth()]}/`) .then(x => { return {source: i, result: x} })); promises.push(pr); } Promise.all(promises).then(function(values) { ftp.end(); console.log(values); });
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות