#android #react-native #promise
#Android #react-native #обещание
Вопрос:
Я пытаюсь сделать запрос на выборку из react native, он отлично работает в Интернете и возвращает, как ожидалось (expo web), но не на Android.
Я продолжаю получать «Сбой сетевого запроса», и я не могу понять, почему он работает в Интернете. Я также попытался изменить код состояния с 414 на 200 на моем сервере, чтобы не было ошибок, однако это просто означало, что объект ответа по-прежнему отсутствует, но без ошибок.
Я вызываю функцию, которая выполняет запрос здесь:
async function handleSubmit() {
try {
const res = await createAccountService({name: name.value,email:email.value,password:password.value})
console.log(res);
}catch(e){
console.log(e);
// alertFunction('Couldnt create account', res.error.message)
}
и именно отсюда делается мой запрос
export const createAccountService = async({name, email, password}) => {
try {
const timestamp = Math.floor(Date.now() / 1000);
// const requestObject = {name, email, password, timestamp}
const requestObject ={
name: "afdsf",
email:"s7edsg@t.com",
password:"123423569",
timestamp: 1607548529
}
const unparsedResponse = await fetch(URL "/account/createaccount", {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(requestObject)
})
console.log(unparsedResponse);
const response = await unparsedResponse.json()
if(response.error){
// Error - Return this to the alert
}else{
// All good - safe this to the user state
}
return response
}catch(e){
console.log('this is being hit');
throw e
}
}
Это работает в Интернете, поэтому мне интересно, не хватает ли мне какого-либо плагина или импорта или чего-то еще?
Ответ №1:
Проблема заключалась в том, что я использовал URL-адрес локального хостинга. Я запустил сервер на ngrok, поэтому у меня есть общедоступная ссылка, которую я могу использовать где угодно
Ответ №2:
используйте url в качестве локального IP-адреса, что-то вроде http://192.168.X.X , вместо http://localhost