【发布时间】:2014-08-19 14:00:04
【问题描述】:
我知道这是错误的,但本质上我想这样做
- 通过 Promise 连接到 db/orm
- 等待该承诺履行并获得模型(承诺的回报)
- 使用结果形成中间件生成器函数,将模型放置在请求中
我怀疑这不是最好的方法,所以基本上我有两个问题:
- 我是否应该重写我的 db/orm 连接到生成器函数(我觉得更符合 koa 风格)
- 回到最初的问题(因为我确信我不会有机会重写我的所有业务逻辑) - 我如何等待 promise 完成然后返回生成器函数?
这是我糟糕的尝试——没有成功,老实说,我没想到会这样,但我想从编写代码开始,有一些东西可以解决这个问题:
var connectImpl = function() {
var qPromise = q.nbind(object.method, object);
return qPromise ;
}
var domainMiddlewareImpl = function() {
let connectPromise = connectImpl()
return connectPromise.then(function(models){
return function *(next){
this.request.models = models ;
}
})
}
var app = koa()
app.use(domainMiddlewareImpl())
【问题讨论】:
标签: javascript node.js generator koa