Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Дублирование фрагмента JS-кода с условием (https://javascript.ru/forum/misc/72935-dublirovanie-fragmenta-js-koda-s-usloviem.html)

hdma 07.03.2018 19:09

Дублирование фрагмента JS-кода с условием
 
Привет! Следующий код представляет собой процедуру для execute (https://vk.com/dev/execute), с помощью которой можно возвращать комментарии к посту ВКонтакта, по его номеру от первого поста в сообществе (то есть, без указания айдишника поста). Также он возвращает только комментарии отдельного пользователя, если его айди указать в user_id. А за счёт извлечения постов по порядковым номерам — во-первых, избавляет от необходимости указывать в аргументах и получать точные ИД-постов заранее, а во-вторых, позволяет отслеживать и накапливать на inoreader.com комментарии со стен чужих сообществ. То есть, достаточно будет на feed43.com создать RSS-ленту с offset=1 в аргументах, потом вторую ленту с offset=2 (и так далее — в меру необходимости), а затем на inoreader.com объединить эти ленты в одну непрерывную и получать примерно получасовые обновления.

Проблема заключается в том, что код возвращает лишь первую сотню комментариев, хотя возможности execute позволяют это число увеличить, в чём и прошу посодействовать. Для этого, как гуманитарию представляется, к фрагменту кода, где получают сто комментариев, надо добавить offset=0, потом запомнить результаты и продублировать фрагмент с получением следующей сотни комментариев, но уже с добавлением offset=100, и так далее. Что будет примерным выражением (потому что вместо ИД поста "8331059" — в коде достаточно указать его номер на стене сообщества) следующих команд:

Код:

https://api.vk.com/method/wall.getComments?owner_id=-29534144&post_id=8331059&offset=0&count=100&v=5.35
https://api.vk.com/method/wall.getComments?owner_id=-29534144&post_id=8331059&offset=100&count=100&v=5.35
...

Сам код можно посмотреть с подсветкой по ссылке: https://jsfiddle.net/qtzatamg/


Часовой пояс GMT +3, время: 22:18.