golovewkin
@golovewkin
WEB - Разработчик

Как получить промис?

Всем привет!
в модели User делаю запрос к базе данных
var User = {
    sendToBase: function (querySQL) {
        return new Promise(function (resolve, reject) {
            pool.getConnection(function (err, connection) {
                if (err) {
                    debug(err);
                    reject(err)
                }
                connection.query(querySQL, function (err, rows) {
                    if (err) {
                        debug(err);
                        reject(err)
                    } else {
                        // возвращаем соединение в пул
                        connection.release();
                        resolve(rows);
                    }
                });
            });
        })
    },
    getAllUsers: function (email, password) {
        var sql = 'SELECT * FROM ?? WHERE ?? = ? AND ?? = ?';
        var inserts = ['users', 'email', email, 'password', password];
        var querySQL = mysql.format(sql, inserts);
        this.sendToBase(querySQL)
    }
};


по идее, я возвращаю промис?

почему в тогда в роуте, если вызывать так
User.getAllUsers(req.body.email, req.body.password)
          .then(function(data) {
        console.log (data);
      }).catch(function(){
            console.log ('err');
          });


Пишет, что " User.getAllUsers Cannot read property then", я ведь вернул промис?
Спасибо
  • Вопрос задан
  • 156 просмотров
Решения вопроса 1
romy4
@romy4
Exception handler
Судя по getAllUsers, я не вижу там возврата промиса.
return this.sendToBase(querySQL)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы