По документации цикл делается подобным образом
var a = 1; var b = 10; while (b != 0) { b = b - 1; a = a+1; }; return a;
У меня это выглядит так
var posts=API.newsfeed.search({"q":"Test"});
var ownerIds=posts.items@.from_id;
var i=0;
var gIds=[];
var uIds=[];
while(i<ownerIds.length)
{
if(ownerIds[i]<0)
{
gIds.push(ownerIds[i]);
};
i=i+1;
};
return gIds;
На этот код возвращается ошибка
"error_code":12,"error_msg":"Unable to compile code: ';' expected
Опытным путем установил, что проблема в строке i=i+1;
Если эту строку убрать и while чутка переписать без сравнения с i, то он компилится и возвращается нормальный результат.
Причем я пробовал и сам пример из доков запускать. Отваливается именно на строке b = b - 1;
Сам код вызова на C#, если это имеет значение
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Accept.Clear();
var res = client.GetAsync($"https://api.vk.com/method/execute?code={queryParam}&access_token={token}&v=5.62").Result;
var answer = res.Content.ReadAsStringAsync().Result;
}
Где у меня ошибка? Уже кучу времени потратил.
P.S.:
Опубликовал вопрос. Попробовал код на странице доков в vk и он отработал. И тут до меня дошло, что дело в '+'. Get запрос его за пробел принимает. Но проблема сохранилась даже после того как я сделал Urlencode. На стороне vk он все равно этот плюс не видит и уходит в вечный цикл.
Помогите советом, как это решить)