Ошибка собственной асинхронной функции React в симуляторе IOS

#ios #react-native #async-await #ios-simulator

Вопрос:

У меня ниже приведен простой код, который отлично работает в Android, но в IOS await не работает.

 const CheckAsyncfucntion = async () =gt; { console.log('Before Await execution'); const authenticateuser = await newUser(registration_id); // return true or false console.log('After Await Execution =gt; ', authenticateuser); }  

в андориде это работает нормально. но в ios оба журнала печатаются с неопределенным значением authenticateuser. и после этого возвращается значение нового пользователя.

Любая зацепка в этом вопросе будет оценена по достоинству. Я использую IOS smi для iphone12 iOS 15.0

Ответ №1:

Я думаю, проблема в функции newUser .

Мой симулятор iOS отлично работает с любыми асинхронными функциями, как показано ниже.

 const CheckAsyncfucntion = async () =gt; {  console.log('Before Await execution');  // return true or false from Promise  const authenticateuser = await new Promise((resolve, reject) =gt; {  setTimeout(() =gt; {  resolve(true);  }, 2000);  });  console.log('After Await Execution =gt; ', authenticateuser);  };  CheckAsyncfucntion(); 

Комментарии:

1. Функция Нового пользователя-это функция экспорта экземпляра Axios по умолчанию, которая вызывает Rest API и проверяет, является ли пользователь новым пользователем или нет.