我的代码检查word.statusId以查看是否脏了.如果是的话,它将进行单词更新,如果可行,它将更新wordForms.如果干净的话,它只会更新wordForms.有人可以告诉我这是否是处理兑现一项承诺的正确方法吗?
update = (): ng.IPromise<any> => {
var self = this;
if (self.word.statusId != 3) {
return self.wordEditSubmit()
.then(() => {
return self.wordFormCheckAndUpdate();
})
} else {
return self.wordFormCheckAndUpdate();
}
}
解决方法:
您所描述的期望行为确实是实际行为.
当您使用arrow functions时,不需要存储以下值:
update = (): ng.IPromise<any> => {
if (this.word.statusId != 3) {
return this.wordEditSubmit()
.then(() => this.wordFormCheckAndUpdate())
} else {
return this.wordFormCheckAndUpdate();
}
}
再次使用ternary condition进行了简化:
update = (): ng.IPromise<any> => {
return this.word.statusId != 3
? this.wordEditSubmit().then(() => this.wordFormCheckAndUpdate())
: this.wordFormCheckAndUpdate();
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。