React-native: выполнение пост-запроса через 20 секунд, даже если приложение переходит в режим ожидания - PullRequest
0 голосов
/ 20 ноября 2018

Когда приложение запускается на переднем плане, я успешно выполняю POST-запрос, используя setTimeout с 20 секундами, подобными этому:

setTimeout(function() {
 /*POST request is done here*/ 
}, 20000);

Хотя, если в это время пользователь помещает приложение в фоновый режим, нажав кнопку home дляНапример, мой пост не будет запущен через 20 секунд.На Android, однако, я проверил, что если прошло 20 секунд, а затем я открыл приложение (чтобы оно было на переднем плане), то публикация выполняется немедленно.(Не проверялось на ios, чтобы увидеть, происходит ли то же самое).Поэтому у меня есть следующие вопросы:

1) То же поведение происходит и на стороне IOS?

2) Должен ли я ожидать точно такое же поведение, если тайм-аут имеет таймер 15 минут, а не 20 секунд?

3) Как я могу решить эту проблему?Мне нужно связаться с конечной точкой через некоторое время, и я не могу сделать это, пока приложение находится в фоновом режиме с setTimeout.

Использование библиотек, таких как реагировать-нативно-фон-задача не помогаютв этой ситуации, так как мне нужно выполнить код примерно через 20 секунд (или 10 минут и т. д.), а не через некоторое время, например, через 15 минут +

Ответы [ 2 ]

0 голосов
/ 20 ноября 2018

У меня была такая же проблема, и я использовал act-native-background-timer , и она отлично работала для Android.

0 голосов
/ 20 ноября 2018

попробуйте эту библиотеку, она устанавливает время, которое вы хотите установить, но помните, что ios не даст времени больше 30 секунд

https://github.com/ocetnik/react-native-background-timer

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...