Возвращаемое значение не обновляется внутри 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 вызов выполняется только после возвращения обещания, но не повезло. Зачем?

0 ответов

Другие вопросы по тегам