ошибка javascript синхронности при доступе к базе данных дважды в конечной точке с использованием узла / экспресса - PullRequest
0 голосов
/ 07 декабря 2018

У меня есть компания, у которой есть вакансия, и другие пользователи, которые хотят работать там, должны делать заказы на эту вакансию.В каждом заказе есть идентификатор пользователя, который его делает.Я также хочу показать имя этого пользователя, когда компания хочет просмотреть все заказы на работу.

Итак, я просто получил все заказы с помощью Order.getOrder, а затем получил name и email от пользователя для каждого заказа и добавьте его к тому, что я собираюсь вернуть.

Я получаю ошибку TypeError: Cannot read property 'then' of undefined в последнем then

 router.get("/orders", verifyToken, (req, res) => {   
    Order.getOrders(req.userId, (err, rows) => {
        for (x in rows) {
            console.log(rows[x].id);
            User.forge({id: rows[x].id}).fetch({columns:['email','name']}).then(user => {
                rows[x].nameTester = user.get('name');
                rows[x].emailTester = user.get('email');
            });
        }  
    }).then(function(err, rows) {
        res.json({orders: rows});
    });
});

А это

Order.getOrders = (userData, callback)=>{
    if (connection) {
        const query = ...sql query...
        connection.query(query, [userData], (err, result, fields) => {
            if (err) {
                throw err;
            } else {
                callback(null, result);
            }
        });
    }
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...