Снова я вокруг и около своей проблемы. Никак не могу ее решить.
Собственно сама задача проста но из за асинхронно-синхронности ноды топчусь по граблям и не могу решить ее.
Задача сводится к простым вещам — есть массив с URLами. В цикле при помощи jsdom+jquery разбираем страницу, выбираем все URLы и запихиваем их в конец массива для дальнейшей обработки внутри цикла.
Есть какие либо идеи как реализовать?
var jsdom = require("jsdom");<br>
var fs = require("fs");<br>
var jquery = fs.readFileSync("./jquery.js").toString();<br>
<br>
var fields = ['http://some.url/page.html']<br>
<br>
for(var b=0, len = fields.length;b<len;b++){<br>
<br>
jsdom.env({<br>
html: fields[b],<br>
src: [jquery],<br>
done: function (errors, window) {<br>
var $ = window.$;<br>
$("div.pager a").each(function() {<br>
//Push new finded hyperlinks in array<br>
fields.push($(this).attr('href'));<br>
});<br>
<br>
}<br>
});<br>
//recalculate actual length of array to make more loop<br>
len=fields.length;<br>
}<br>
Кросс пост на
StackOverflow