Таймер обратного отсчета с удаленным сервером - React native - PullRequest
0 голосов
/ 09 марта 2020

У меня есть приложение, которое требует таймера обратного отсчета. Дата истекает из моего бэк-энда с остальными api. Мне нужно откорректировать оставшееся время в моем приложении. Но я не могу использовать время смартфона. Потому что пользователь может находиться в другом часовом поясе / стране и т.д. c. Как я могу использовать ответ сервера о сроке выполнения для своего собственного ответа?

Должен ли я также отправить оставшееся время в секундах пользователю? Так я могу отсчитывать оставшееся время каждую секунду?

https://www.example.com/getDueDate [POST] 

возвращает:

Y-m-d H:i:s (будущее) время, подобное 2021-05-20 23:40:40

Если я использую метод обратного отсчета classi c для javascript, мне нужно использовать время смартфона. Но я не хочу использовать это.

Подход NTP-сервера может быть сложным для реагирующей стороны. Это просто простой счетчик.

Ответы [ 2 ]

0 голосов
/ 09 марта 2020

Да, можно получить время. Я также использую rest api (аутентификация по токену и токен по истечении определенного времени). Я проверяю как показано ниже

var l_currentDateTimeSeconds;
l_currentDateTimeSeconds=((new  Date().getTime() - "your_time_from_api") / 1000);


if (parseInt(l_CurrentDateTimeSeconds) < parseInt(your_time_from_api))
      {
        //failure case  ;
      }
      else
      {
        //Success case;
      }

вывод времени (в переменной) будет в секундах. Посетите приведенную ниже ссылку, это может помочь https://aboutreact.com/react-native-get-current-date-time/

0 голосов
/ 09 марта 2020

Почему бы не отправить как текущее время сервера, так и срок выполнения? Затем запустите свой таймер оттуда?

При этом время все равно будет отключено из-за времени туда и обратно между вашим пользователем и сервером (которое будет зависеть от их inte rnet соединения и времени ответа вашего сервера) .

...