@dovid כתב בעזרה|בשימוש ברשימה נפתחת ב ag grid הוא לא מחכה לערכים המוחזרים מפונקצייה:
אבל בקוד שלך גם חסר קריאה לפונקציה selected, כך שיש פה עוד שכבת בעיה.
גם אני הבנתי ככה (אני לא כזה עם הארץ...) אבל הסתמכתי על הדוגמא פה - תעשה הצגת קוד ותראה שגם שם הוא עושה כזה דבר - מכניס משתנה שהוא פונקצייה
בלוג של שורה 6 הוא מחזיר לי בדיוק את מה שאני רוצה לקבל, אבל כבר לפני זה אני מקבל שגיאה שאין ערכים לבחירה - זה אומר כמו שכתבתי שהוא לא מחכה לתשובה
@dovid כתב בעזרה|בשימוש ברשימה נפתחת ב ag grid הוא לא מחכה לערכים המוחזרים מפונקצייה:
(והיא במקרה שלנו לא ממש מחזירה)
למה לא?
@dovid כתב בעזרה|בשימוש ברשימה נפתחת ב ag grid הוא לא מחכה לערכים המוחזרים מפונקצייה:
או שימוש בawait
ניסיתי לעשות משהו כזה אבל לא עזר
var selected = async (params) => {
const response = await fetch("api.php?action=selectBuildings2")
const data = await response.json();
console.log(data);
return {
values: data,
};
}
עריכה:
מה שנראה לי כרגע שבתוך הפונקצייה הוא כן מחכה, והראייה שב console.log(data);
אני מקבל את התוצאה, הבעיה היא כנראה שה ag אינו מחכה ומיד ממשיך, השאלה היא האם אפשר להגיד לו לחכות, כי כאמור
כאן רואים שקודם ה ag מתלונן שאין לו ערכים ומיד אח"כ מגיע התשובה... כך שפשוט הוא אינו מחכה...
עריכה נוספת...:
ניסיתי לעשות את הקוד בתוכו בלי הפניות וקריאות (כמו שיש דוגמאות שם)
{
headerName: 'מין', field: 'type', filter: true, editable: true, cellEditor: 'agSelectCellEditor', cellEditorParams: params => {
rows = fetch("api.php?action=selectBuildings2")
.then(response => response.json())
.then(function (response) {
console.log(response);
return {
values: ['New York', 'Los Angeles', 'Chicago', 'Houston'],
};
});
},
},
וכאן גם עשיתי שיוחזר מערך מוכן אחרי הקריאה שלא יהיו תירוצים שלא חוזר תקין וכו', אבל גם אז, קודם קיבלתי שגיאה שאין ערכים ואח"כ קיבלתי את הלוג יפה!
ואם אני מוריד את fetch כך שאין לו זמן המתנה רק return אז הוא מדפיס את זה יפה
בקיצור, אין לו סבלנות... השאלה איך נותנים לו...