2017-01-20 3 views
0

У меня есть этот код в React Native:Как использовать переменную вне функции

inApp1.get('isFullVersionBought').then((data) => { 
    console.log(data); 
    let fullversionbought = data; 
}); 

Как я могу использовать fullversionbought переменную вне этой функции? Спасибо.

+0

Возможная дубликата [установка переменной, чтобы получить отдачу от функции обратного вызова, используя обещание] (http://stackoverflow.com/вопросы/22536385/установка-а-переменные в-получить возвращения из-обратного вызова функция, используя-обещание) – azium

ответ

3

Вы должны определить переменную вне функции, а не внутри, как в вашем примере кода.

var fullversionbought; 
inApp1.get('isFullVersionBought').then((data) => { 
    console.log(data); 
    fullversionbought = data; 
}); 

Javascript использует лексический охват во время компиляции.

0

Сначала определите переменную «fullbersionbought» вне функции, затем назначьте ее значение из функции.

Ключевое слово «let», по самому его определению, означает область переменной как локальную. Они сохраняются только тогда, когда выполняется определенная функция.

0

Вы не можете использовать локальные переменные вне функции. Вот почему у нас есть переменные экземпляра.

Добавить переменную экземпляра для этого класса и заполнить данные в этой функции

0

Переменная будет бесполезной, пока не получит данные. Чтобы избежать ожидания заполнения переменной, я бы рекомендовал использовать состояние компонента. В этом случае, как только вы получите данные, вы будете обновлять состояние компонента:

constructor() { 
    this.state = { 
    fullversionbought: {} 
    }; 

    this.getData(): 
} 

getData() { 
inApp1.get('isFullVersionBought').then((data) => { 
    this.setState({ 
     fullversionbought: data 
    }); 
}); 
} 
Смежные вопросы