0
Ich versuche, diesen Code:Arbeitet Funktion nicht mit Versprechen
function addNewCars(req, res) {
let CarsList = req.body;
carListParsing(carList)
.then(function() {
console.log('OK');
res.status(200).send('OK');
}).catch(function (err) {
res.status(200).send(err);
});
}
function carListParsing (data) {
return new Promise(function (resolve, reject) {
let newCar = {};
newCar.name = data.car_name;
validateCar(newCar).then(function (data) {
console.log('validate result1: ', data); //this line doesn't show
//if I get validation result, I can use next function createCat()
resolve(data);
}).catch(function (err) {
reject(err);
});
});
}
function validateCar(data) {
db.cars.findAll({where: {name: data.name}}).then(function (org) {
if (org.length < 1) {
console.log('validate1: OK'); //work
return data;
} else {
console.log('validate2: already exist'); //work
return new Error('The ' + data.name + ' car is already exist.');
}
}).catch(function (err) {
return err;
});
}
I neet Daten überprüfen => Auto Namen, wenn Auto nicht dann neues Auto vorhanden schaffen und nächste Logik, zB Park Auto durchführen. Wenn das Auto gefunden wurde, dann führe das Funktionsparkauto aus.
Sie haben vergessen, das Versprechen von 'validateCar' zurückzugeben:' return db.cars .... '. Es sollte ein Fehler angezeigt werden, der ähnlich ist wie "Kann nicht auf Eigenschaft zugreifen" und dann auf "undefiniert". –
Ich kann keine Fehler erhalten. Ideally möchte ich nur binäres Ergebnis Yes oder No zurückgeben. In diesem Fall gebe ich dieselben Daten zurück, die ich überprüft habe, um mit ihnen weiter zu arbeiten. Oder geben Sie Informationen zurück, dass das Auto existiert. –