返回值调用方法
我为我的ExpressJS项目使用Sequelize。
我在我的模型中有这个代码:
exports.findAll = () => { let data = []; Book.findAll().then(books => { data = books; // book has array of objects }); return data; // but data doesn't have even after assigning books to data };
我想方法findAll返回值由BookController调用时 。
你同步返回一个asynchronous值,你可能想在这种情况下做什么,因为sequelize返回findAll
方法的承诺是
exports.findAll = () => { let data = []; return Book.findAll(); };
然后在你的控制器中,假设你已经将这个模块作为BookService
需要,并且处于一个列表控制器的方法中,你可以这样做来获取书籍
list(req, res) { return BookService.findAll().then(books => { data = books; // book has array of objects console.log(data); // you have your books return res.json(books); }); }