نحن نحاول إنشاء الويدجت (“banner-title”) الذي سيعرض الاسم الأول للمستخدم (لقد أنشأنا الاسم الأول كمجال للمستخدم).
في الويدجت، نقوم بجلب الاسم الأول للمستخدم (user_field) باستخدام الكود أدناه:
let res [];
let currentUser = api.getCurrentUser();
let userfields = null;
if (currentUser) {
api.container.lookup('store:main').find('user', currentUser.username).then((user) => {
userfields = user.user_fields;
});
if(userfields ){
//some code
return res;
}
}
هنا يتم تنفيذ find() بطريقة غير متزامنة، لذا فإن المشكلة هي أننا نحصل دائمًا على user fields كـ null. كيف يمكننا الحصول على user fields بطريقة متزامنة حتى نتمكن من الحصول على قيمة userfields قبل عرض الويدجت.
شكرا.