Так что я думаю, вы немного запутались в том, что происходит. Когда вы звоните по номеру google.load("feeds", "1",{"callback": "get_it('http://myfeed.com/whatever')"})
, вы не запрашиваете, чтобы Google загрузил фид на http://myfeed.com/whatever
. Что вы говорите: «Эй, Google, загрузи javascript для поддержки API фида, и когда ваш API фида уже загружен и готов к использованию, вызовите get_it('http://myfeed.com/whatever')
, где предположительно get_it
- это функция, которую вы используете» Вы уже определили на своей странице, что для этого нужно использовать API подачи Google.
Так что я думаю, что ваша цель будет лучше удовлетворена, если определить одну функцию javascript для выполнения той, которая готова к подаче, что-то вроде:
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');
}
А потом просто позвонив:
google.load("feeds", "1",{"callback" : 'feed_api_ready'})
Это выполнит обе функции "go get the feeds" сразу после загрузки API Google.
Теперь, что касается параллельного получения каналов: хотите верьте, хотите нет, это также будет загружать каналы параллельно. Javascript на самом деле не имеет возможности блокировать и ждать сетевого ввода-вывода, поэтому все, что в javascript, который получает данные из сети, всегда должно быть записано в виде: «Идите, сделайте этот сетевой запрос, и вот функция для вызова когда вы в конечном итоге получите ответ ". Но тем временем движок javascript в браузере продолжает работать, не дожидаясь ответа.
Это означает, что выше, вы отключите запрос для http://www.fernsehkritik.tv/?feed=podcast
, и ваш браузер продолжит выполнение javascript, не дожидаясь ответа сети, и вы отключите второй запрос для http://rss.golem.de/rss.php?feed=RSS1.0
. Таким образом, сетевой трафик для обоих каналов будет затем возвращаться в ваш браузер параллельно, даже если JavaScript в браузере не допускает несколько потоков выполнения.