【发布时间】:2015-11-13 00:37:10
【问题描述】:
我遇到了一种情况,我需要在 then() 中的每个“else”子句处中断,这看起来并不比嵌套回调更好,这是一个登录过程:
User.findOne({
username: username
}).exec()
.then(user => {
if (user) {
return user.verifyPassAsync()
.then(matched => {
if (matched) {
return User.getBriefProfile(username))
.then(emp => {
if (emp) {
return saveToSession(emp);
} else {
//return
}})
} else {
//return ...
}})
} else {
// return false
}
})
有什么方法可以简化这个吗?
【问题讨论】:
-
那些 else 块到底是做什么的?
-
@Bergi 实际上,根据我的回答中的 cmets,OP 不知道在
elses 中返回什么。
标签: javascript promise ecmascript-6 bluebird es6-promise