2017-07-19 1 views
0

Ich mache eine Anwendung mit Elektronen- und ich habe folgendes Problem:die Antwortzeit der HTTP-Anfrage in Elektron

Ich brauche eine HTTP-Anforderung, um Daten von einem PHP zu erhalten, aber das Timeout sollte weniger als die Antwortzeit und daher die Anfrage vor dem Ausliefern an mich stornieren.

Wer weiß, wie man die Wartezeit auf HTTP-Anfrage verlängert?

ich verlassen Sie den 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); 
    }); 

Antwort

0

Ich nehme an, Sie die Timeout-Zeit des Knotens HTTP-Anforderung erweitert werden soll, warten, dass der PHP-Server responde.

Sie können die Eigenschaft timeout der http-Anforderung in Millisekunden festlegen.

Fügen Sie einfach die Eigenschaft, um Ihre Optionen Objekt, zum Beispiel:

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, ...) 

von der offiziellen Dokumentation:

Timeout: Eine Zahl in Millisekunden das Socket-Timeout angeben. Dadurch wird das Zeitlimit festgelegt, bevor der Socket verbunden wird.

Lesen Sie mehr über http.request (da es die gleichen Optionen wie http.get akzeptiert).