#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 и проверяет, является ли пользователь новым пользователем или нет.