2016-05-17 10 views
0

ich folgenden Code haben, die nur mit Tampermonkey funktioniert, wenn es synchron, ich Argument, um es passierenWie übergebe ich Argumente an jquery asynchrone json?

function getValues(itemid){ 
     var parsedpage = $.ajax({ 
      cache  : false, 
      async  : false, 
      url   : "http://cors.io/?u=http://cata.openwow.com/item="+itemid, 
      dataType : "text", 
     }); 
    return parsedpage.responseText; 
} 
getValues(70266); 
getValues(70378); 
getValues(70268); 

mehr getValues Anrufe führen zu langen Ladezeiten und schlechte UX mit, ich denke, es asynchron arbeiten Refactoring sollte, wenn Ich ändere async:false zu async:true der Code arbeitet nicht in für Schleife Schleife durch Array von 18 Zahlen. Es muss so mit responseText als HTML-Code tun, weil Website nicht wirklich unterstützt Json oder ich konnte es nicht finden, da es überhaupt nicht dokumentiert ist.

Wie überschreibe ich meine Funktion, um asynchron zu arbeiten? Ich habe How do I return the response from an asynchronous call? lesen, aber es gehört nicht auf die Funktion mein eigenes Argument übergibt

+0

Sieht aus wie Sie ein brauchen 'promise()' – Derek

+0

jQuery '' $ .when'' ist ausreichend? –

+0

Ja, es sollte – Derek

Antwort

-1

Ok ich dies mit dem Hinzufügen von Funktion in succes: Ajax zu lösen geführt und bekam, was ich brauchte

function getValues(itemid){ 
    $.ajax({ 
     cache  : false, 
     async  : true, 
     url   : "http://cors.io/?u=http://cata.openwow.com/item="+itemid, 
     dataType : "text", 
     success: function (data) { 
      var parsedpage = data; 
     }, 
    }); 
} 
+0

Sie können nicht von asynchronen Anruf – epascarello

+0

zurückgeben oh ja, die Zeile mit Rückkehr wird überhaupt nicht benötigt –

Verwandte Themen