2017-05-28 5 views
0

私は約束からいくつかのデータを取得しようとしますが、何も返されません。誰かが私にこれを手伝ってもらえますか?どうしましたか??ヌル __zone_symbol__value::アレイは(0)__プロト:角4 - その後nullを返します

リターンテストがzone_symbol__stateあるオブジェクト

load(): Promise <any> { 
 
    const test = this.http 
 
    .get(this.translationPath) 
 
    .toPromise() 
 
    .then(
 
     this.createTranslationProviders 
 
    ).catch((err: any) => { 
 
     Promise.resolve(); 
 
     console.log('resolve' + err) 
 
    }); 
 
    return test; // this is always NULL 
 
} 
 

 

 

 
private createTranslationProviders(response: Response) { 
 
    let translationProvider: any; 
 
    translationProvider = [ 
 
    // { provide: TRANSLATIONS, useValue: response }, 
 
    // { provide: TRANSLATIONS_FORMAT, useValue: 'xlf' }, 
 
    { 
 
     provide: LOCALE_ID, 
 
     useValue: 'de_DE' 
 
    } 
 
    ]; 
 
    return translationProvider; 
 
}

+0

あなたがやっていることは何ですか?なぜあなたは約束に変わりますか? – Aravind

+0

'.then()'はPromiseを返しません。実際には何も戻っていません。 –

+1

[私の約束がなぜ返されないのですか?](https://stackoverflow.com/questions/42577647/why-is-my-promise-returning-undefined) –

答えて

0

あなたTranslationServiceは約束でプロバイダのリストを返しますが、あなたは追加しませんこのプロバイダーをモジュールに追加します。あなたはそれがAPP_INITIALIZERを使用せずに、しかし、プロバイダのロードリストで、それらとそのboostrapingモジュールの後にそれをしない方法をNG-confに翻訳レポを見てとることができます。

https://github.com/ocombe/i18n-demo/blob/c3a063bb51d097eee14f889bce48b4bb9df9d1da/src/main.ts#L12

getTranslationProviders(environment.production).then((providers: 
    CompilerOptions[]) => { 
    const options = { providers }; 
    platformBrowserDynamic().bootstrapModule(AppModule, options); 
}); 

また、それはdoesnのことに注意してくださいこの時点でAOTと仕事をしていません。あなたは役に立つことには、以下のリンクを見つけるかもしれない:V4以降のため

[I18N]計画 - ロスト https://github.com/angular/angular/issues/16477

(NG-confの2017) - https://www.youtube.com/watch?v=dihyu1a2bPc

+0

ありがとうございました。しかし、私はファイルを読むためにsystem.jsを使用していません。私は代わりに角HTTPリクエストを使用する方法が不思議ですか?これをモジュールのエクスポート関数にインポートするには? – KRav

+0

このレポは、systemJSではなくwebpackを使用するangular-cliを使用しています。なぜあなたはsystemJSについて考えますか? System.importについて考えると、SystemJSとは関係ありませんが、標準に基づいて非同期のものをロードするためのwebpack関数です。 –

+0

はい、 "System.import"が原因です - 暗闇に光を当ててくれてありがとうございます。 "System.import"は今まで動作していませんでした。システム..見つけられません...または他の何か。なぜそれが動作していないのかチェックします...私はどこかに "システム"を含める必要がありますか? – KRav

関連する問題