J'ai un problème avec la méthode jquery.Jquery - Fonction de démarrage lorsque chacun est prêt
Mon objet
first_obj = {};
first_obj[11] = new Array('http://blub.de', 'hsdfe', 'hsdfe');
first_obj[54] = new Array('http://blub.de', 'sdfe', 'hsdfde');
first_obj[99] = new Array('http://blub.de', 'sdf', 'sdfde');
obtenir des résultats et l'insérer dans l'objet "second_obj_results"
second_obj_results = {};
$.each(first_obj, function(i, val)
{
var feed = new google.feeds.Feed("http://www.digg.com/rss/index.xml");
feed.load(function(result) {
if (!result.error) {
var container = document.getElementById("feed");
for (var i = 0; i < result.feed.entries.length; i++)
{
second_obj_results[id] = new Array(''+rsd+'', ''+rtitle+'', ''+fege+''); // Create new obj with the results
}
}
)};
read_new_obj();
et voici mon problème
Quand je dis read_new_obj();
... // ré travail Ontario
setTimeout('read_new_obj();',2000);
... // cela fonctionne
Lire la nouvelle obj
function read_new_obj()
{
$.each(second_obj_results, function(i, val)
{
// do something
});
}
Je pense que le problème est que le « obtenir des résultats » n'est pas fini. Mais la solution avec le Timeout est très mauvaise. Il est possible que le "Obtenir des résultats" nécessite plus de temps que 2 secondes.
Comment puis-je dire si "chaque premier_objet" est prêt -> Démarrer la fonction "read_new_obj"?
Merci d'avance! Peter
PS:.? Désolé pour mon mauvais anglais :(
Salut jAndy, ça marche mais la fonction démarre 3 fois. – Peter
Je comprends. -> google.setOnLoadCallback(). http://translate.google.de/translate?hl=de&sl=auto&tl=fr&u=http%3A%2F%2Fwww.betawax.de%2Fblog%2F2010%2F03%2Fjquery-ready-google-load%2F – Peter
@Peter : Cela devrait être votre résultat souhaité. Vous êtes en boucle sur le 'first_obj' qui contient trois entrys. Eh bien, mais on dirait que vous n'utilisez pas cette information, assez confuse. Je m'attendais à ce que vous utilisiez la première entrée de votre tableau 'first_obj' pour accéder à cette URL. – jAndy