即使在进行测试后也会返回未定义



我做了一个async parallel

async.parallel({
...,
"dateDebut": function(cb_dateDebut) {
request({
url: "https://alfred.telma.net/track_/trackable/dateDebut/".concat(req.body.donnee)
}, function (error, response, body) {
var data = JSON.parse(body);
var dataJSON = data[0];
var dateDebut = dataJSON.Date_debut;
var momentDateDebut = (dateDebut == "" ? null : moment(dateDebut, "DD-MM-YYYY, H:m:s"));
if (momentDateDebut == null)
cb_dateDebut("");
else
cb_dateDebut(momentDateDebut.format("DD/MM/YYYY HH:mm"));
});
}
}, function(err, results) {
var vehicule = results.vehicule, conducteur = results.conducteur, dateDebut = results.dateDebut;
console.log("============ dateDebut : ",dateDebut);
sheet1.cell(9, 1).string(vehicule.vehicule_nom);
sheet1.cell(9, 2).string(vehicule.immatriculation);
sheet1.cell(9, 3).string(conducteur);
var tps = moment().format('YYYYMMDHHmmss')+moment().milliseconds();
var nom_fichier = "reporting"+tps+".xlsx";
wb.write(path.join(__dirname, '../public/pjreporting/'+nom_fichier));
res.send("");
});

在运行时,我测试dateDebut等于""。所以在我的测试中,results.dateDebut的预期结果应该是""的。但事实上我得到了undefined!那么出了什么问题呢?

首先出错!

更改您的代码:

// cb_dateDebut("");
cb_dateDebut(null, "");

最新更新