У меня странная проблема, когда я нажимаю свой результат в моем массиве, результат не находится в правильном положении в моем массиве (например, результат вместо того, чтобы быть у индекса 1 при индексе 3), и когда я повторно запускаю результаты моего модуля, изменяя позицию случайным образом в массиве.Array не соответствует указанному заказу
var cote = function(links, callback) {
var http = require('http');
var bl = require('bl');
var coteArgus = [];
for (i = 0; i < links.length; i ++) {
http.get('http://www.website.com/' + links[i], function(response) {
response.pipe(bl(function(err, data) {
if (err) {
callback(err + " erreur");
return;
}
var data = data.toString()
newcoteArgus = data.substring(data.indexOf('<div class="tx12">') + 85, data.indexOf(';</span>') - 5);
myresult.push(newcoteArgus);
callback(myresult);
}));
});
}
};
exports.cote = cote;
кажется, это зависит от работы '$ http.get' и когда он получает ответ от сервера для каждого запроса – Grundy
' Array.push() 'всегда добавляет к конец массива. Поэтому, если массив не в том порядке, который вы ожидаете, я бы посмотрел на данные, которые вы нажимаете на массив ... это выражение, которое вы используете, где вы вызываете 'substring()' и 'indexOf() 'выглядит как возможный преступник ... Осмотрите значение этого выражения в отладчике или зарегистрируйте его на консоли. –