APP_INITIALIZER函數(shù)的使用方法-創(chuàng)新互聯(lián)

這篇文章給大家分享的是APP_INITIALIZER函數(shù)的使用方法。小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí)。如下資料是關(guān)于APP_INITIALIZER的內(nèi)容。

成都創(chuàng)新互聯(lián)公司長期為超過千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為三元企業(yè)提供專業(yè)的做網(wǎng)站、網(wǎng)站設(shè)計(jì),三元網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

APP_INITIALIZER是在Angular2.x程序啟動(dòng)之前執(zhí)行的一個(gè)函數(shù),可以在這個(gè)里面進(jìn)行自動(dòng)登錄,判斷登錄token,阻止啟動(dòng)等一系列操作,可以在AppModule類的providers中以factory的形式來配置,factory是一個(gè)返回值為promise的函數(shù)。

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的函數(shù)

簡單的一個(gè)Projmise例子
export function initApp() {
  return () => {
   return new Promise((resolve, reject) => {
    setTimeout(() => {
     console.log('In initApp');
     resolve(); //reject() 就會(huì)終止程序的啟動(dòng)
    }, 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();
    });
  };
}

更多相關(guān)內(nèi)容:

Angular2.x APP_INITIALIZER

在 Angular 中 APP_INITIALIZER 的作用是什么

看完上述內(nèi)容,你們掌握APP_INITIALIZER函數(shù)的使用方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

文章名稱:APP_INITIALIZER函數(shù)的使用方法-創(chuàng)新互聯(lián)
鏈接分享:http://muchs.cn/article32/dcdssc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃App設(shè)計(jì)、關(guān)鍵詞優(yōu)化、外貿(mào)網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站、面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)