0
我有以下明确的控制器: 使用promise.coroutine创建快速控制器的最佳方式是什么?
var Promise = require('bluebird');
var co = Promise.coroutine;
class MainController {
constructor(env) {
this.env = env;
}
index() {
var self = this;
return co(function*(req, res, next) {
var trips = yield self.env.repo.trips.getTrips();
var viewModel = new ViewModelBase(req, {layout: 'layout', trips: trips});
res.render('index', viewModel);
});
}
}
我使用这个控制方式如下:
var mainController = new MainController(this.env);
router.get('/', mainController.index());
有没有办法让这个代码更加清晰? 我可以避免var self = this;在每个协同例程之前? 从哪里可以找到关于express 4中使用es6的最佳实践指南?