Промисы, почему не работает условие

362
02 июня 2017, 15:02

Не совсем понимаю в чем дело, суть такова:

//Получаю от клиента данные
function addNewCars(req, res) {
    let carsList = req.body;
    //Запускаю функцию которая парсит список и дальше сохраняет данные в бд
    carsListParsing(carsList)
        .then(function () { //если все ОК
        console.log('OK');
        res.status(200).send('OK');
    }).catch(function (err) { // если не ОК
        res.status(200).send(err);
    });
}
function carsListParsing (data) {
    return new Promise(function (resolve, reject) {
        let newCar = {};
        newCar.name = data.car_name;
        //Запускаю проверку, есть ли уже такая машина в бд
        validateCar(newCar)
            .then(function (newCar) {
                console.log('validation success', newCar); //если машины нет в бд, 
//получаем ту, что и отдали на валидацию
            })
            //.then(createNewCar) //пока просто вывод в консоль, 
//а так то если валидацию проходит, запускается функция создать новую машину.
            .catch(function (err) {
                reject(err);
            });
    });
}
function validateCar(data) {
    db.cars.findAll({where: {name: data.name}}).then(function (car) {
        console.log('validating: ', car); //а её там и нет получаю []
        if(car.length < 1) { //true
            return Promise.resolve(data); // возвращаем машину для создания
            //return Promise.resolve(true); //пробовал по разному
            // return true;
            // resolve();
        } else {
            // return Promise.resolve(false);
            // return false;
            reject();
        }
    }).catch(function (err) {
        return err;
    });
}

Кроме того как тут поправить что бы заработало, интересно узнать как возвращается значение true или false (или логический аналог). Забыл самое главное, не выводится в консоль строка

console.log('validation success', newCar);

READ ALSO
Как лучше реализовать такой слайдер?

Как лучше реализовать такой слайдер?

ЗдравствуйтеЕсть такой код слайдера:

385
Как убрать чек бокс знаю только тайтл

Как убрать чек бокс знаю только тайтл

Как убрать чек бокс зная только тайтл при нажатии onclick='deleTe', при условии, что чек бокс уже стоит

372
Получения доступа к содержимому фрейма

Получения доступа к содержимому фрейма

Есть site1ru, на нём есть iframe, в котором подгружается site2

339
Яндекс Share Api (блок &ldquo;Поделиться&rdquo;) для React

Яндекс Share Api (блок “Поделиться”) для React

Пытаюсь прикрутить блок "Поделиться" в мое React приложениеНаписал такой компонент:

571