Я думаю, что у вас проблема asyn c,
Я не знаком с Ioni c, это простой пример для Интернета.
Если вы можете использовать Rx js в вашем проекте Ioni c этот пример должен работать и для Ioni c.
import { Platform } from '@ionic/angular';
import { Injectable } from "@angular/core";
import { NativeStorage } from '@ionic-native/native-storage/ngx';
import { BehaviorSubject } from 'rxjs/internal/BehaviorSubject';
@Injectable({
providedIn: 'root'
})
export class SharedDataService{
public companyDetail = null;
public companyDetailSubject = new BehaviorSubject(this.companyDetail);
constructor( private platform:Platform, private nativeStorage: NativeStorage ){
this.platform.ready().then(()=>{
this.nativeStorage.getItem('company').then(res=>{
this.companyDetail = res;
this.companyDetailSubject.next(this.companyDetail);
})
})
}
}
и в app.component.ts
import
import { filter, take } from 'rxjs/operators';
конструктор
constructor(private sharedData:SharedDataService ){
this.sharedData.companyDetailSubject.pipe(
filter(value => !!value),
take(1)
).subscribe(response => {
console.log(response)
})
}