Я пытаюсь использовать asyncstorage в своем собственном приложении реакции. Проблема в том, что ответ сервера, который я получаю, занимает некоторое время, поэтому я хочу дождаться ответа, затем я хочу использовать этот responseData.user_id для сохранения вмое приложение. Я использую nodejs в качестве backend и mysql db. Поэтому после регистрации пользователя я вставляю его в db, в то же время я написал другой запрос для извлечения их user_id (PK). Так что этот responseData попадает к клиентуи я пытаюсь взять этот user_id из ответа. Итак, я написал что-то вроде этого
onPressRegister = async () => {
try {
let response = await fetch('http://192.168.1.2:3000/users/registration', {
method: 'POST',
headers: {
'Accept': 'applictaion/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
contact: this.state.contact,
password: this.state.password,
})
});
let responseData = await response.json();
if (responseData) {
try {
Action.firstScreen();
await AsyncStorage.setItem('userid', JSON.stringify(responseData.userData.phone_no));
}
catch (e) {
console.log('caught error', e);
}
}
} catch (error) {
console.error(error)
}
}
И на следующем экране я получаю доступ к идентификатору пользователя следующим образом. И передаю его следующему APIзвоните вот так.
getUserId = async () => {
let userId = await AsyncStorage.getItem('userid');
return userId;
}
onPressYes = (workType) => {
this.getUserId().then((userId) => {
this.setState({userId:userId})
})
fetch('http://192.168.1.2:3000/users/user_request',{
method:'POST',
headers:{
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
workType,
phone:this.state.userId
})
})
.then(response => response.json())
.then((responseData) => {
this.setState({
data:responseData
});
});
}
Но это ошибка, которую я получаю.