Я бы ожидал, что цикл будет работать так, как указано в кавычках, но может быть тонкость в том факте, что вы используете JSONP. Я бы изменил setTimeout
вызов на:
setTimeout(loadChirp, 5000);
... по нескольким причинам. Во-первых, лучше использовать ссылку на функцию, а не строку кода, а во-вторых, вы совершенно уверены, что получаете правильную ссылку на функцию (тогда как со строкой, какая ссылка вы получите, зависит от контекста в котором выполняется код).
Но, как указал Пойнти в комментарии, есть отдельная проблема: document.write
не будет делать то, что вы, вероятно, хотите, чтобы он делал там. Вы можете использовать document.write
только для записи в поток HTML, который анализируется как часть исходной загрузки страницы. После загрузки страницы вы больше не сможете ее использовать. Попробуйте использовать jQuery append
или appendTo
и аналогичные функции для добавления в DOM после загрузки страницы.