2017-07-19 2 views
0

Je suis en train de faire une demande d'électron et j'ai le problème suivant:Étendre le temps de réponse de la requête http en électronique

Je dois faire une demande de HTTP pour recevoir des données à partir d'un php, mais le délai d'attente doit être inférieure à le temps de réponse et donc annuler la demande avant de me livrer quelque chose. Quelqu'un sait comment allonger le temps d'attente sur la requête http?

Je vous laisse le code

var http = require('http'); 
    var options = { 
     host: localStorage.getItem('server'), 
     port: localStorage.getItem('port'), 
     path: localStorage.getItem('directori') + '?nosession=1&call=ciberFiSessio&numSerie='+ localStorage.getItem("pc") 
    }; 
    http.get(options, function(res) { 
     alert("hola"); 
     if (res.statusCode == 200){ 
     //reinicia(); 

     res.on('data', function (chunk) { 
      str = chunk; 
      alert(str); 

      var myJSON = JSON.parse(str); 
      //alert(myJSON.fi); 

      if(parseInt(myJSON.fi)==0){ 
      alert("Hi ha hagut un problema!"); 
      }else{ 
      reinicia(); 
      } 

     }); 

     }else{ 
     alert("El lloc ha caigut!"); 
     alert(res.statusCode); 
     } 
    }).on('error', function(e) { 
     alert("Hi ha un error: " + e.message); 
    }); 

Répondre

0

Je suppose que vous voulez prolonger le délai de temporisation du nœud requête http, d'attendre le serveur PHP à Responde.

Vous pouvez définir la propriété timeout de la requête http en millisecondes.

Il suffit d'ajouter la propriété à vos options objet, par exemple:

var http = require('http'); 
    var options = { 
     timeout: 1000, // timeout of 1 second 
     host: localStorage.getItem('server'), 
     port: localStorage.getItem('port'), 
     path: localStorage.getItem('directori') + '?nosession=1&call=ciberFiSessio&numSerie='+ localStorage.getItem("pc") 
    }; 
    http.get(options, ...) 

de la documentation officielle:

délai d'attente: Un nombre spécifiant le délai de prise en millisecondes. Cela définira le délai avant que la prise soit connectée.

En savoir plus sur http.request (car il accepte les mêmes options que http.get).