Как работает повторный вызов функции в приложении IOS Webview? - PullRequest
0 голосов
/ 05 апреля 2019
  1. Вам нужен URL в веб-приложении IOS
  2. Доступ к веб-странице, разработанной с использованием JS, для которой требуется непрерывный вызов функции
  3. Когда вы возвращаетесь к другому приложению в iphone / ipad, опрос останавливается, и при попытке открыть приложение «Повторная функция» не работает

Примечание: Когда вы используете тот же URL в веб-браузере, он работает нормально

Пример кода:

pollActivationCode = () => {
      var self = this;
      getActivationResult({
        data:{
          userid: this.userID
        },
        onSuccess: function(data){
          let responseStatus = data.response.status;
          if(responseStatus === "CODE_CREATED"){
            this.setState({ 
              loadIframe: false,
              userCreation: false,
              updateServer: false,
              creatingActivationCode: false
            })
          } else if(responseStatus === "CREATE_USER" || responseStatus === "CREATE_PROCESSING") {
            this.setState({ userCreation: true, loadIframe: false })
            setTimeout(function(){
              self.pollActivationCode();
            }, 1000);
          } else if(responseStatus === "UPDATE_SERVER"){
            this.setState({ updateServer: true })
            setTimeout(function(){
              self.pollActivationCode();
            }, 1000);
          } else if(responseStatus === "CREATE_CODE"){
            this.setState({ creatingActivationCode: true })
            setTimeout(function(){
              self.pollActivationCode();
            }, 1000);
          } else {
            setTimeout(function(){
              self.pollActivationCode();
            }, 1000);
          }
        }.bind(this),
        onError: function(data){
          if(data.responseJSON.responseMessage === "VERIFICATION_PENDING" && data.responseJSON.responseCode === "404"){
            setTimeout(function(){
              self.pollActivationCode();
            }, 1000);
          } else if(data.hasOwnProperty("statusText") && data.statusText === "error"){
            setTimeout(function(){
              self.pollActivationCode();
            }, 1000);
          } else {
            this.setState({ loadIframe: false })
          }
        }.bind(this)
      })
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...