Я пишу свое первое приложение для реагирования / мобильного приложения, и я сталкиваюсь с проблемой. Приложение выполняет асинхронную функцию, которая приводит к открытию другого приложения (в данном случае приложение для нативного сообщения платформы). Это работает нормально, но проблема в том, что код, кажется, останавливается тогда. Обещание никогда не решает и не отвергает, и следующая строка, которая является журналом для отладки, никогда не регистрируется. Я просто догадаюсь, но кажется, что когда открывается приложение для обмена сообщениями, мое приложение помещается в «фон», и когда пользователь возвращается к приложению, вместо того, чтобы подниматься с того места, где оно осталось, это повторное использование. Хотите знать, есть ли стандартный способ справиться с этим? /> < /ol>
Но, как я уже сказал, если есть «стандартный» способ сделать это в Mobile Dev, я бы хотел знать, что это такое.
const useMessageSender = (): MessageSenderMethods => {
const store = useMessageQueueStore();
const [ processingQueue, setProcessingQueue ] = useState(false);
const processingQueueRef = useRef(processingQueue);
// Update the ref whenever processingQueue changes
useEffect(() => {
processingQueueRef.current = processingQueue;
}, [processingQueue]);
// ...
const sendBulkSms = useCallback(async (messages: Message[]): Promise => {
if (!await canSms()) return;
try {
const { result } = await SMS.sendSMSAsync(
recipients.numbers,
messages[0].text
); // this successfully opens the messenger app
console.log('got result', result) // this never executes
// ...
} catch (error) {
// nothing here ever executes, either
}
}, [canSms, store]);
}
< /code>
Теперь, который называется изнутри компонента очереди, а состояние элементов в очереди должно быть обновлена на странице, когда сообщения в очереди, отправленные, неудачные, ограниченные скоростью и т. Д. .... что на самом деле происходит, когда я возвращаюсь к приложению, что страница кратко отображает, что сообщения о том, что это было сразу же, что он снова стал для того, чтобы это было еще раз, и тогда. Единственное объяснение, которое я имею для этого (в сочетании с отсутствием разрешения обещания), заключается в том, что основная страница/компонент, в которой это обрабатывается,-это повторно, когда приложение возвращается к активному, вместо того, чтобы продолжить, где оно осталось. /> Было бы идеально, если бы приложение просто продолжало работать, если оно было «открытым», даже если оно не было «активным» приложением, но это не нарушатель сделки; И хотя я, вероятно, мог бы заставить его работать, если бы это было единственное или лучшее решение, на самом деле это не похоже на идеальное применение реагируемого нанесенного навеса
(например, рассмотрение этого вопроса и комментариев, кажется, что это должно «просто работать», и я упускаю что-то базовое).>
Я пишу свое первое приложение для реагирования / мобильного приложения, и я сталкиваюсь с проблемой. Приложение выполняет асинхронную функцию, которая приводит к открытию другого приложения (в данном случае приложение для нативного сообщения платформы). Это работает нормально, но проблема в том, что код, кажется, останавливается тогда. Обещание никогда не решает и не отвергает, и следующая строка, которая является журналом для отладки, никогда не регистрируется. Я просто догадаюсь, но кажется, что когда открывается приложение для обмена сообщениями, мое приложение помещается в «фон», и когда пользователь возвращается к приложению, вместо того, чтобы подниматься с того места, где оно осталось, это повторное использование. Хотите знать, есть ли стандартный способ справиться с этим? /> < /ol> Но, как я уже сказал, если есть «стандартный» способ сделать это в Mobile Dev, я бы хотел знать, что это такое.[code]const useMessageSender = (): MessageSenderMethods => { const store = useMessageQueueStore(); const [ processingQueue, setProcessingQueue ] = useState(false); const processingQueueRef = useRef(processingQueue);
try { const { result } = await SMS.sendSMSAsync( recipients.numbers, messages[0].text ); // this successfully opens the messenger app console.log('got result', result) // this never executes // ... } catch (error) { // nothing here ever executes, either } }, [canSms, store]); } < /code> Теперь, который называется изнутри компонента очереди, а состояние элементов в очереди должно быть обновлена на странице, когда сообщения в очереди, отправленные, неудачные, ограниченные скоростью и т. Д. .... что на самом деле происходит, когда я возвращаюсь к приложению, что страница кратко отображает, что сообщения о том, что это было сразу же, что он снова стал для того, чтобы это было еще раз, и тогда. Единственное объяснение, которое я имею для этого (в сочетании с отсутствием разрешения обещания), заключается в том, что основная страница/компонент, в которой это обрабатывается,-это повторно, когда приложение возвращается к активному, вместо того, чтобы продолжить, где оно осталось. /> Было бы идеально, если бы приложение просто продолжало работать, если оно было «открытым», даже если оно не было «активным» приложением, но это не нарушатель сделки; И хотя я, вероятно, мог бы заставить его работать, если бы это было единственное или лучшее решение, на самом деле это не похоже на идеальное применение реагируемого нанесенного навеса [/code] (например, рассмотрение этого вопроса и комментариев, кажется, что это должно «просто работать», и я упускаю что-то базовое).>