Сбой сетевого запроса android react native

#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