Come ottenere i campi utente in un componente del tema?

Stiamo cercando di creare il widget (“banner-title”) che visualizzerà il nome dell’utente (abbiamo creato il campo nome utente come first-name).
Nel widget, stiamo recuperando il nome dell’utente (user_field) utilizzando il codice seguente:

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;
  }
}

Qui find() viene eseguito in modo asincrono, quindi il problema è che ogni volta otteniamo user fields come null. Come possiamo ottenere user fields in modo sincrono in modo da poter ottenere il valore di userfields prima che il widget venga renderizzato.

Grazie.

3 Mi Piace