So wurde ich in einem Interview gefragt, aber es brachte einen guten Anwendungsfall auf. Angenommen, Sie haben eine Reihe von Datenquellen. Sie möchten den ersten verfügbaren finden und ihn verarbeiten und den Rest ignorieren.Finde die erste verfügbare Datenquelle mit jQuery Deferred
So etwas wie:
var datasources = new Array("somedatabase1/pizza","somedatabase2/beer","somedatabase3/llama");
var dfds = new Array();
$.each(datasources,function(source){
dfds.push($.getJSON(source));
});
$.when(dfds).done(function(){alert("they are all done");});
ignorieren, dass ich glaube wirklich nicht, wenn ein Array akzeptiert (vielleicht ist es der Fall ist). Das würde natürlich warten lassen, bis alle fertig sind. Ich suche nach einem Code, der es warten lassen würde, bis einer von ihnen fertig ist, und sich dann keine Sorgen um die anderen machen.
Ich wurde informiert, dass es nur rekursiv arbeiten würde.
Sollten sie alle zur gleichen Zeit starten, oder die zweite, wenn der erste gescheitert? – Bergi
@Bergi Ich denke, beides wird funktionieren, ich denke beide sind in verschiedenen Anwendungsfällen optimal. – Parris
Ja, aber ihr Konzept ist sehr unterschiedlich. Also welche brauchst du? – Bergi