2016-07-15 2 views
0

Ich weiß, wie man überprüft, ob ein Video in einem einzelnen .get existiert, aber ich habe keine Ahnung, wie man das in eine andere Funktion einfügt und basierend auf einem tut Wenn ich sage, was ich wirklich für diesen Lenkeransatz machen möchte, arbeite ich daran. Irgendeine Ahnung, wie man das funktioniert? Ich bin offen für eine andere Lösung, aber ich möchte das wirklich optimieren, damit es funktioniert.mit .get und youtube api, um zu überprüfen, ob ein Video existiert

function vidExists(vidId){ 
    var check = $.get("https://www.googleapis.com/youtube/v3/videos?id=" + vidId + "&key=[key]&part=snippet", function (data) { 
     return data.pageInfo.totalResults; 
    }); 

    if (check > 0) { 
     return true 
    } else { 
     return false 
    } 
} 
+0

'$ .get' der Anwendung ist asynchron. Verwenden Sie eine Rückruffunktion. –

+0

Verwenden Sie die Rückruffunktion –

+1

Mögliches Duplikat von [Wie gebe ich die Antwort von einem asynchronen Anruf zurück?] (Http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an- asynchroner Anruf) –

Antwort

0

Leider funktioniert das folgende Beispiel nicht aufgrund der Nutzungsbeschränkung; aber dies ist die typische Art und Weise Rückrufe Funktionen

function vidExists(vidId, callback){ 
 
$.get("https://www.googleapis.com/youtube/v3/videos?id=" + vidId + "&key=[key]&part=snippet", function() { 
 
     
 
     if(typeof callback == 'function') { 
 
      callback.apply(this, arguments); // pass all arguments to callback fucntion allowing access to the XHR object if needed 
 
     } 
 
    }); 
 

 
} 
 

 
vidExists('60ItHLz5WEA', function(data){ 
 
    console.log(data); 
 
    console.log(data.pageInfo.totalResults); 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

Verwandte Themen