2016-01-15 17 views
5

私はLangDataService.isDataReadyという変数を持っていますが、それは解決すべき脅威です。解決すると、いくつかの論理が起こります。どのように私はこの約束にこれを渡すことができますか?外部にキャッシュせずにPromiseに 'this'を渡すには?

LangDataService.isDataReady.then(function() { 
    this.modalOn() 
}); 

私はキャッシュすることができますvar self_ = this;しかし、私は他の選択肢が好きですか?私は@Andreasが実際その `矢印を参照していると信じて

+1

[アロー機能](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions) – Andreas

+1

関数 'は、語彙スコープの 'this'を持っています。 –

+0

@Andreas unfortunatlly arrowの機能は広くサポートされておらず、バベルは単にこれに変換されますthis_ = this; –

答えて

15
LangDataService.isDataReady.then(function() { 
    this.modalOn() 
}.bind(this)); 
+0

男私はその笑を試みたことを誓います。私はちょうど間違った場所に置かなければならない。 –

+0

Epic!大きなおかげでmatt3141! – Landeeyo