Локальное хранилище возвращает нулевое значение

Это будет работать как для файла, так и для папки:

absPath(){
    if [[ -d "$1" ]]; then
        cd "$1"
        echo "$(pwd -P)"
    else 
        cd "$(dirname "$1")"
        echo "$(pwd -P)/$(basename "$1")"
    fi
}
0
задан Shravani 17 January 2019 в 05:20
поделиться

1 ответ

localStorage.setItem('authToken') и localStorage.getItem('authToken') является задачей asynchronous. Иногда вы запускаете let token = localStorage.getItem('authToken') сразу после сбоя setItem, поэтому вы получаете ноль, поэтому, пожалуйста, поставьте операцию getItem после некоторой задержки.

Вы можете использовать что-то вроде этого:

setTimeout(function() {
    let token = localStorage.setItem('authToken');
}, 50);

То же самое для получения данных из локального хранилища, например

setTimeout(function() {
        let token = localStorage.getItem('authToken');
    }, 50);

ИЛИ вы можете использовать AsyncStorage вместо localstorage. AsyncStorage более перспективен, чем localalstorage.

await AsyncStorage.getItem('loginStatus')
      .then(value => this.setState({ loginStatus: value }))
      .catch(e => console.log('err', e));
0
ответ дан Kishan Oza 17 January 2019 в 05:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: