Javascript Storage get()在ionic 2中从不返回值
学习离子2,特别是使用Javascript Storage get()在ionic 2中从不返回值,javascript,ionic-framework,ionic2,Javascript,Ionic Framework,Ionic2,学习离子2,特别是使用存储 所以,我刚刚创建了一个空白应用程序: ionic start storagetest blank --v2 在此之后: 然后,我的app.module.ts如下所示: import { NgModule, ErrorHandler } from '@angular/core'; import { IonicApp, IonicModule, IonicErrorHandler } from 'ionic-angular'; import { MyApp } from
存储
所以,我刚刚创建了一个空白应用程序:
ionic start storagetest blank --v2
在此之后:
然后,我的app.module.ts
如下所示:
import { NgModule, ErrorHandler } from '@angular/core';
import { IonicApp, IonicModule, IonicErrorHandler } from 'ionic-angular';
import { MyApp } from './app.component';
import { HomePage } from '../pages/home/home';
import { StatusBar } from '@ionic-native/status-bar';
import { SplashScreen } from '@ionic-native/splash-screen';
import { IonicStorageModule } from '@ionic/storage';
@NgModule({
declarations: [
MyApp,
HomePage
],
imports: [
IonicModule.forRoot(MyApp),
IonicStorageModule.forRoot()
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
HomePage
],
providers: [
StatusBar,
SplashScreen,
{provide: ErrorHandler, useClass: IonicErrorHandler}
]
})
export class AppModule {}
然后转到主页。ts
:
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { Storage } from '@ionic/storage';
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
constructor(public navCtrl: NavController, storage: Storage) {
storage.ready().then(() => {
storage.set('name', 'Max');
storage.get('name').then((val) => {
console.log('Your name is', val);
})
});
}
}
javascript日志中没有任何内容。似乎get()
从未返回该值。但是,ready()
确实有效,因为我在其中放了一个console.log()
那怎么了
我正在Chrome Mac OS上运行应用程序。
存储。set
是异步的,并返回一个承诺。因此,在调用get().then()时,可能无法设置值。尝试:
storage.ready().then(() => {
storage.set('name', 'Max').then(()=>
storage.get('name').then((val) => {
console.log('Your name is', val);
});
);
});
在then
或catch()
方法中没有错误处理程序,这可能就是没有记录任何内容的原因
storage.ready().then(() => {
storage.set('name', 'Max').then(()=>
storage.get('name').then((val) => {
console.log('Your name is', val);
});
);
});