2016-08-20 2 views
0

Я получаю эту ошибку, когда я получаю 'это действие контроллера:SailsJS | TypeError: Не удается прочитать свойство 'затем' неопределенной

TypeError: Cannot read property 'then' of undefined

Код:

allUsers: function (req, res) { 
    Admin.find({ id: req.adminId }, function (err, admin) { 
     console.log(admin); 
    }) 
    .then(function onSuccess(admin) { 
     return User.find(function (err, users) { 
     res.json(users); 
     }); 
    }) 
    .catch(function onError(res) { 
     return res.status(401).send(); 
    }); 
    } 

Любые мысли?

+1

Вы не должны пройти обратные вызовы к другим, чем '' затем' и улов функциям 'если вы хотите использовать обещания? – Bergi

ответ

1

Похоже, вы пытаетесь объединить обратный вызов и стиль обещания здесь. Что произойдет, если вы удалите часть:

, function (err, admin) { 
    console.log(admin); 
} 

Согласно Sails.js ORM documentation, стилю обещания find изготовлен так:

Zookeeper.find() 
.then(function (zookeepers) {...}) 
.catch(function (err) {...}); 
+0

Спасибо. Рефакторинг сейчас. Я дам вам знать! – CiscoKidx

+0

Работал как шарм! XD Спасибо! – CiscoKidx