我有一个使用Koa生成器的项目,我对编写“控制器”感到沮丧。我已经查找了一些示例,但实际上基于关键字在Github上的结果并不多,所以我怀疑我做错了。
我的应用使用buildSpec
将端点路由到生成器。
然后控制器看起来像这样
koa-router
如您所见,此生成器不起作用。我使用export function* postEvent () {
const self = this
const user = yield User.findOne({slug: this.params.slug}).exec()
if (user) {
user.events.push({
[ ... ]
})
yield user.save( (error, event) => {
yield postBlacklist({
[ ... ]
})
.then( event => {
self.status = 200
self.body = "Event created for: " + user.slug
})
})
} else {
[ ... ]
}
}
让应用等待yield
完成。但是我无法做user.save()
,因为我已经“用完了”我的yield postBlacklist()
命令。如果我删除第二个yield
,我将获得404。
那么我如何将一个承诺返回的东西嵌入另一个像这样的东西?
答案 0 :(得分:0)
不,你不能在回调中屈服。但为什么这不起作用?
df_x %>%
setNames(., make.unique(names(.))) %>%
select(matches("^var3")) %>%
head(2)
# var3 var3.1
# (dbl) (dbl)
#1 1.2590590 0.9784617
#2 -0.7163919 -0.9644718