Ich habe eine Schleife, die mehrere Ajax Aufrufe an eine API macht. Für jeden Anruf würde ein Rückruf erfolgen. Das Problem tritt auf, wenn ein Fehler auftritt und keine Daten zurückgegeben werden. Ich kann nicht feststellen, welcher Anruf diesen Fehler verursacht hat.Woher weiß man, für welchen Call der aktuelle Callback ist?
Wie erkenne ich den Anruf, der diesen Fehler innerhalb der Callback-Funktion verursacht hat? hier ist Teil des Codes:
for (var i = 0; i < channels.length; i++) {
if ($.inArray(channels[i], livenow) > -1) {
continue;
}
this.chname = channels[i]; //this is the channel name
Twitch.api({
method: 'channels/' + this.chname
}, function(error, list) {
//insdie this callback
//chname may have been changed when we received the callback
console.log(this.chname + '===>');
jetzt, ich bin nicht sicher, welcher Wert von ChName in der API aufgerufen wurde, um den Fehler zu machen. Wenn es keine Fehler gibt, bin ich auf die Daten angewiesen, die vom Server zurückgegeben werden, um zu wissen, dass der Callback ein Ergebnis davon war, welcher Aufruf. Wenn der Server einen Fehler zurückgibt, kann ich nicht wissen, für welchen Call dieser Callback ist.
Können Sie die API zeigen schreiben Anrufe - wir können nicht wirklich helfen, ohne Code zu sehen –
Der Rückruf wird auch auf das ursprüngliche Anfrageobjekt ausgesetzt. Sie können das verwenden, um die Details der Anfrage zu erhalten. – Boaz
Ich mache einen Anruf in einer Schleife und bis ich den Rückruf erhalte, bin ich nicht sicher, welcher Anruf den Fehler verursachte – Tamer