Ionic 3 Cómo garantizar que los datos db se obtengan antes de cargar la vista

Estoy usando autenticación basada en token y el token ya está guardado en la base de datos.

Cuando se inicia la aplicación, necesito obtener el token de DB y ponerlo a disposición antes de realizar llamadas a la API.

Cuál es la mejor manera de hacerlo:

En componente:

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

O en servicio compartido:

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
}

¿Hay alguna manera de asegurarme de que el token de base de datos se recupere y almacene en servicios compartidos antes de cargar la vista? Storage.get es una 'promesa de ES6'

La preocupación es la responsabilidad de cargar el token antes de que la vista de carga se escale a cualquier evento de arranque, por lo que onViewLoad no necesita definirse en cada componente.

Respuestas a la pregunta(1)

Su respuesta a la pregunta