Ich habe 2 URLs. Ich möchte zuerst überprüfen, ob URL1 gültig ist, wenn ja, dann möchte ich URL1 zurückgeben, ansonsten, wenn es nicht gültig ist, möchte ich überprüfen, ob URL2 gültig ist, und wenn dies der Fall ist, URL2 zurückgeben, wenn beide ungültig sind, dann null zurückgeben :Ajax - Überprüfen, ob mehrere URLs gültig sind
if (check(url1))
return url1;
else if (check(url2))
return url2;
else return null;
Wie erreiche ich dies asynchron mit Ajax? Ich habe Schwierigkeiten zu sehen, wie ich die Überprüfung von Url2 auftreten würde, wenn url1 fehlgeschlagen ist. Das ist, was ich bisher habe, aber es ist wahrscheinlich völlig falsch:
function check(url) {
$.ajax({type: 'HEAD', url: url,
success: function() { return url; },
error: function() { return `${url} not found`; }});
}
async function checkUrl(url1, url2) {
try {
return await check(url1);
} catch (error) {
console.log(error);
try {
return await check(url2);
} catch (error) {
console.log(error);
return null;
}
}
}
wenn es async, die zweite URL Prüfung wird mit der ersten URL zur gleichen Zeit starten. willst du das oder willst du synchronisieren (warte bis der erste fertig ist)? –
Nein, ich möchte nur die 2. URL-Prüfung durchführen, wenn die Überprüfung der ersten URL fehlschlägt. –