2016-01-15 1 views
5

У меня есть переменная, называемая LangDataService.isDataReady, которая является обещанием Обещания, которое нужно решить. После устранения будет логика. Как я могу передать это в это обещание?Как передать «это» в обещание без кэширования на улице?

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

Я знаю, что я могу кэшировать var self_ = this; но мне любопытно других альтернатив?

+1

[функция Arrow] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions) – Andreas

+1

Я считаю, что @Andreas имеет в виду тот факт, что 'стрелка функции 'имеют лексико-область 'this'. –

+0

@ Недружелюбные функции стрелки не поддерживаются широко, и babel просто перейдет в var this_ = this; –

ответ

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

Человек, клянусь, я попробовал этот lol. Должно быть, я просто поставил его неправильно. –

+0

Epic! Большое спасибо matt3141! – Landeeyo