APP_INITIALIZER函数的使用方法
这篇文章给大家分享的是APP_INITIALIZER函数的使用方法。小编觉得挺实用的,因此分享给大家学习。如下资料是关于APP_INITIALIZER的内容。
APP_INITIALIZER是在Angular2.x程序启动之前执行的一个函数,可以在这个里面进行自动登录,判断登录token,阻止启动等一系列操作,可以在AppModule类的providers中以factory的形式来配置,factory是一个返回值为promise的函数。
import { BrowserModule } from '@angular/platform-browser';import { NgModule, APP_INITIALIZER } from '@angular/core';import { AppComponent } from './app.component';@NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule ], providers: [ { provide: APP_INITIALIZER, useFactory: initApp, deps: [HttpClient], multi: true } ], bootstrap: [AppComponent]})export class AppModule { }
下面我们看initApp的定义,注意一定要是返回值为Promise的函数
简单的一个Projmise例子export function initApp() { return () => { return new Promise((resolve, reject) => { setTimeout(() => { console.log('In initApp'); resolve(); //reject() 就会终止程序的启动 }, 3000); }); };}获取一种信息export function initApp(http: HttpClient) { return () => { return http.get('https://api.github.com/users/sagar-ganatra') .toPromise() .then((resp) => { console.log('Response 1 - ', resp); }); };}登录后获取一种信息export function initApp(http: HttpClient) { return () => { return http.get('login').toPromise() .then((resp) => { this.user = resp.user; return this.http.get('fileInfo').toPromise(); }); };}
更多相关内容:
Angular2.x APP_INITIALIZER
在 Angular 中 APP_INITIALIZER 的作用是什么
看完上述内容,你们掌握APP_INITIALIZER函数的使用方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。