2016-09-03 5 views
0

У меня есть форма для входа, и я могу опубликовать свои значения формы. После успешного запроса POST я получаю аутентификационный токен, возвращенный из API. Мне нужно сохранить этот токен для дальнейшего использования в некоторых локальных хранилищах. Для сохранения этого токена аутентификации я использую AsyncStorage. Я использовал AsyncStorage.setItem(STORAGE_KEY, responseData.auth_token); метод setItem для сохранения данных.React Native AsyncStorage Getitem возвращает обещание не значение

Если я утешаю войти это следующим образом:

console.log(AsyncStorage.setItem(STORAGE_KEY));

он возвращает в качестве объекта обещания, как этого

Promise {_45: 0, _81: 0, _65: null, _54: null} 
_45 
: 
0 
_54 
: 
null 
_65 
: 
"efcc06f00eeec0b529b8" 
_81 
: 
1 
__proto__ 

: Объект

как я могу получить точное значение из Метод AsyncStorage.getItem?

Это мои выборки методы

fetch('http://54.255.201.241/drivers', { 
    method: 'POST', 
    headers: { 
     'Accept': 'application/json', 
     'Content-Type': 'application/json' 
    }, 
    body: JSON.stringify({ 
     first_name: this.state.firstName, 
     mobile_number: this.state.mobileNumber, 
     vehicle_number: this.state.vehicleNumber, 
     vehicle_type_id: 1, 
    }) 
    }).then((response) => response.json()).then((responseData) => { 
    if (JSON.stringify(responseData.mobile_number) == (this.state.mobileNumber)) 
    { 
     AsyncStorage.setItem(STORAGE_KEY, responseData.auth_token); 
     console.log(AsyncStorage.getItem(STORAGE_KEY)); 
     this.props.navigator.push({id: 'Otp'}) 
    } 
    else 
    { 
     Alert.alert("SignUp Failed","Mobile number already taken.") 
    } 
    }) 
    .done(); 

BTW в документации они использовали ждем. Я попытался использовать это, но страницы не загружаются. Здесь прилагается скриншот. enter image description here

+0

Да, просто используйте 'затем' или, если вы находитесь в' асинхронной function', используйте 'await'. – Bergi

+0

yes - используйте или хотите: покажите свой запрос на выборку, и мы можем попытаться помочь – dv3

ответ

3

с использованием Async/ОЖИДАНИЕ:

async _getStorageValue(){ 
    var value = await AsyncStorage.getItem('ITEM_NAME') 
    return value 
} 
Смежные вопросы