У меня есть метод POST с использованием Express на Fiis.js
, например:
var router = express.Router();
var Fii = require(libs + 'model/fii').FiiSch;
var Scrapper = require(libs + 'db/scrapper.js');
// Create One Fii
router.post('/', passport.authenticate('bearer', { session: false }), function (req, res) {
var fii = new Fii({
ticker: req.body.ticker,
proventos: []
});
fii.save(function (err) {
if (!err) {
log.info('New fii created with ticker: %s', fii.ticker);
fii.proventos = Scrapper.getFiiDetail(fii.ticker)
return res.json({
status: 'OK',
fii: fii
});
}
});
});
В другом файле с именем Scrapper.js
У меня есть вызов Horseman
function getFiiDetail(ticker){
var result = []
horseman
.open('http://www.scanfii.com.br/raio-x/' + ticker + '/proventos')
.wait(randomInt)
.status()
.evaluate(function(){
var descNode = document.querySelectorAll('.table-hover th')
var desc = Array.prototype.map.call(descNode, function (t) { return t.textContent })
var valueNode = document.querySelectorAll('.table-hover td')
var value = Array.prototype.map.call(valueNode, function (t) { return t.textContent })
var finalData = [];
for (var i = 0 ; i < value.length; i++) {
if (i % 10 != 0)
continue;
var item = {};
item[desc[0]] = value[i];
item[desc[1]] = value[i+1];
item[desc[2]] = value[i+2];
item[desc[3]] = value[i+3];
item[desc[4]] = value[i+4];
item[desc[5]] = value[i+5];
item[desc[6]] = value[i+6];
finalData.push(item)
}
return finalData;
})
.then(function(finalData){
var proventos = [];
for (var i = 0 ; i < finalData.length; i++) {
var provento = new Fii.ProventoSch({
dataBase: finalData[i]["Data Base"],
dataPagamento: finalData[i]["Data Pgmto"],
dataEx: finalData[i]["Data-ex"],
mesRef: finalData[i]["Mês de Referência"],
vlRendimento: finalData[i]["Rendimento"]
});
proventos.push(provento);
}
result = proventos;
})
.catch(function(err){
//log.info(err)
})
.close();
return result;
}
module.exports.getFiiDetail = getFiiDetail;
Мой вопросТо есть, при вызове метода getFiiDetail для метода Post ничего не происходит, ни какой-либо console.log, который помещается путом, чтобы увидеть, входит ли он в метод или нет.
Я уже пытался получить возврат от этой функции, зарегистрировать ее, проверить базу данных, но кажется, что всадник просто игнорируется.