Возвращаемое значение не обновляется внутри IIFE
В файле A я получаю обещание внутри IIFE и обновляю переменную. Эта переменная возвращается (предоставляется для других файлов).
var ServiceResponse = (function() {
var cardPattern = null;
getCardPattern().then(function(response) {
console.info('Successfully fetched card pattern details.');
cardPattern = response;
App.init();
},
function(error) {
console.error('Failed fetching card pattern details!');
});
return {
cardPattern : cardPattern
}
})();
В файле B я пытаюсь использовать эту возвращаемую переменную, но получаю нулевое значение, а не обновленное значение из ответа на обещание.
var validateCreditCard = function(cardNumber, expiryMonth, expiryYear, cvv) {
var creditCardPattern = ServiceResponse.cardPattern;
Я проверяю, что из файла B вызов выполняется только после возвращения обещания, но не повезло. Зачем?