离子 storage.get 未定义

ionic storage.get undefined

ionic info

cli 包:(/usr/local/lib/node_modules)

@ionic/cli-utils  : 1.19.2
ionic (Ionic CLI) : 3.20.0

全局包:

cordova (Cordova CLI) : 8.0.0 

本地包:

@ionic/app-scripts : 3.1.8
Cordova Platforms  : android 6.3.0
Ionic Framework    : ionic-angular 3.9.2

系统:

Node : v8.11.0
npm  : 5.6.0 
OS   : macOS High Sierra

环境变量:

ANDROID_HOME : not set

杂项:

backend : pro

我的提供商

import { Injectable } from '@angular/core';
import { Storage } from '@ionic/storage';

@Injectable()
export class GlobalTokenProvider {

  constructor(public storage: Storage) {
    console.log('Hello GlobalTokenProvider Provider');
  }
  getToken() {
      let token;
      this.storage.get('token').then(data => token  = data);
      return token
    }
}

app.module.ts

    import { GlobalTokenProvider } from '../providers/global-token/global-token';
      providers: [
    ...
    GlobalTokenProvider,
    ...
  ]

usepage.ts

import { GlobalTokenProvider } from '../../providers/global-token/global-token';

  constructor(public navCtrl: NavController, public navParams: NavParams,public http:HttpClient,public storage:Storage,public globaltoken:GlobalTokenProvider) {
alert(this.globaltoken.getToken())
  }

此存储有令牌但提供者 return 未定义 如何在提供程序中使用存储

在您的提供者中 return 存储作为承诺

getToken(){
   return this.storage.get('token')
}

在你的usepage.ts中像这样检索

this.globaltoken.getToken().then((token)=>{
  console.log(token)
})