Donc, je pense que vous êtes un peu confus à ce qui se passe. Lorsque vous appelez google.load("feeds", "1",{"callback": "get_it('http://myfeed.com/whatever')"})
, vous ne demandez pas à Google de charger le flux au http://myfeed.com/whatever
. Ce que vous dites est: "Hey, Google, chargez le javascript pour soutenir votre API de flux, et quand votre flux API est tout chargé et prêt à utiliser, appelez get_it('http://myfeed.com/whatever')
, où get_it
est probablement une fonction que vous avez déjà défini dans . votre page qui utilise l'api d'alimentation de Google pour faire sa chose
donc je pense que votre but serait mieux servi en définissant une seule fonction javascript pour exécuter une l'alimentation est prêt, quelque chose comme:
function feed_api_ready() {
get_it('http://www.fernsehkritik.tv/?feed=podcast', '99');
get_it('http://rss.golem.de/rss.php?feed=RSS1.0', '99');
}
Et puis en appelant simplement:
google.load("feeds", "1",{"callback" : 'feed_api_ready'})
Cela va exécuter les deux fonctions "aller chercher les flux" tout de suite lorsque l'API Google est tout chargé.
Maintenant, pour ce qui est de mettre les alimentations en parallèle, croyez-le ou non, cela va aussi charger les alimentations en parallèle. Javascript n'a pas vraiment la capacité de bloquer et d'attendre sur les E/S réseau, donc tout ce qui se trouve dans le javascript qui reçoit des choses du réseau doit toujours être écrit sous la forme: "Allez faire cette demande réseau, et voici une fonction à appeler quand vous obtenez finalement une réponse ". Mais en attendant, le moteur javascript sur le navigateur continue sans attendre que la réponse revienne. Cela signifie que ci-dessus, vous lancerez la demande pour http://www.fernsehkritik.tv/?feed=podcast
et votre navigateur continuera à exécuter javascript sans attendre que le réseau réponde, et vous déclenchez la deuxième demande http://rss.golem.de/rss.php?feed=RSS1.0
. Ainsi, le trafic réseau pour les deux flux reviendra alors à votre navigateur en parallèle, même si javascript dans le navigateur ne permet pas plusieurs threads d'exécution.
Bonjour Daniel, merci beaucoup! – Peter