Это будет работать как для файла, так и для папки:
absPath(){
if [[ -d "$1" ]]; then
cd "$1"
echo "$(pwd -P)"
else
cd "$(dirname "$1")"
echo "$(pwd -P)/$(basename "$1")"
fi
}
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));