Ich sende eine HTTP-Anfrage mit eckigen wie unten.
$http({
url: url,
params: params,
method:'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
},
timeout: 60000 //60 seconds
}).success(function(data, status, headers, config) {
//do something
}).error(function(data, status, header, config) {
if(timedout){ //determine occurrence of timeout.
//invoke timeout handler
} else
//handle other error
}
});
Wie kann ich die Zeitüberschreitung feststellen?
Ich habe festgestellt, dass in diesem Fall der Statuscode "0" empfangen wird. Ist es sicher, Status == 0 für Timeout zu überprüfen?
Bitte beachten Sie, dass ich nicht nach HTTP Request Timeout (Statuscode 408) frage.
Alles, was ich weiß, ist, dass 'status === 0 ** nicht ** ein Timeout symbolisiert. Es ist der Code verwendet, wenn der Server nicht funktioniert. t antwortet mit einem korrekten HTTP-Status oder antwortet nicht a hoch. – Blackhole
Es ist auch der Status, wenn ein Anruf abgebrochen wird. – Francisc