Так что, я думаю, вы немного смущены тем, что происходит. Когда вы звоните 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
- это функция, которую вы уже определили в . Ваша страница, которая использует Feed API Google, чтобы сделать свое дело
Так что я думаю, что ваша цель, была бы лучше, определив единый яваскрипт функции, чтобы выполнить одну подача готова, что-то вроде:
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, которое получает информацию из сети, всегда должно быть записано в форме: «Go make this network request, и вот функция вызова когда вы в конце концов получите ответ ». Но в то же время механизм javascript в браузере продолжает идти, не дожидаясь ответа, чтобы вернуться.
Это означает, что выше, вы отпустите запрос на http://www.fernsehkritik.tv/?feed=podcast
, и ваш браузер продолжит выполнение javascript, не дожидаясь ответа сети, и вы отпустите второй запрос для http://rss.golem.de/rss.php?feed=RSS1.0
. Таким образом, сетевой трафик для обоих каналов будет возвращаться в ваш браузер параллельно, хотя javascript в браузере не разрешает несколько потоков выполнения.
Привет, Даниил, спасибо вам большое! – Peter