Ionic 3 Como garantir que os dados db sejam buscados antes do carregamento da visualização

Estou usando autenticação baseada em token e o token já está salvo no banco de dados.

Quando o aplicativo é iniciado, preciso buscar o token do DB e disponibilizá-lo antes de fazer chamadas de API.

Qual é a melhor maneira de fazer isso:

No componente:

ngOnit() {
storage.get('token').then((val) => {
    Make api call here 
});
}

Ou no serviço compartilhado:

getToken() {
    return Promise((resolve, reject)=>{
       #if fetched once save in local var and resolve token  
       #or fetch from DB and resolve token  
    })
}

// On Component
this.sharedService.getToken().then((token)=>{
  //Make api call
}

Existe alguma maneira de garantir que o token do banco de dados seja buscado e armazenado em serviços compartilhados antes do carregamento da exibição? O storage.get é uma 'promessa ES6'

A preocupação é responsabilidade de carregar o token antes que a exibição de carregamento seja escalada para qualquer evento de inicialização, portanto, onViewLoad não precisa ser definido em cada componente.

questionAnswers(1)

yourAnswerToTheQuestion