Ich verwende Angular 1.6.3
Ich brauche 3 get-Anforderungen zu machen und schließlich zu prüfen, ob zumindest eine Erfolgsantwort gibt. Im Moment habe ich diesen Code geschrieben:
var result = new Array();
$http.get("link1",
{
"params": {
"email": user.email,
}
}).then(function (successResult) {
result[0] = false;
}, function (errorResult) {
result[0] = true;
});
$http.get("link2",
{
"params": {
"email": user.email,
}
}).then(function (successResult) {
result[1] = false;
}, function (errorResult) {
result[1] = true;
});
$http.get("link3",
{
"params": {
"email": user.email,
}
}).then(function (successResult) {
result[2] = false;
}, function (errorResult) {
result[2] = true;
});
if(result[0] || result[1] || result[2]){
error();
}
Aber manchmal eine von GET
Anfragen gibt -1
als HTTP-Statuscode, wenn es 200
geben sollte. Ich weiß, dass alle $http
Anfrage async sind und ich denke, das ist der Hauptgrund. Was ist der richtige Weg, um dieses Problem zu lösen?
Ich habe AngularJS schon eine Weile nicht mehr gemacht, aber warum plazieren Sie Json nach dem Link in der $ http.get()? – tholo
@tholo So können Sie Parameter hinzufügen wie 'google.com? Email = test @ email.com' – Loniks
Oh ja, ich habe vergessen .. Machen Sie eine setTimeout() zwischen den Anfragen und das sollte eine Umgehung sein. – tholo