Como obter os campos do usuário em um componente de tema?

Estamos tentando criar o widget (“banner-title”) que exibirá o primeiro nome do usuário (criamos o primeiro nome como um campo de usuário).
No widget, estamos buscando o primeiro nome do usuário (campo_usuario) usando o código abaixo:

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 ){
   //algum código
   return res;
  }
}

Aqui, find() é executado de forma assíncrona, então o problema é que sempre obtemos os campos do usuário como nulos. Como obter os campos do usuário de forma síncrona para que possamos obter o valor de userfields antes que o widget seja renderizado.

Obrigado.

3 curtidas